Upgrade ze sady Application Přehledy Java 2.x SDK

Při upgradu na verzi 3.x obvykle nejsou žádné změny kódu. Závislosti sady SDK 3.x jsou verze rozhraní API bez opu závislostí sady SDK 2.x. Pokud se však používá s agentem Java verze 3.x, poskytuje pro ně agent Java verze 3.x implementaci. Výsledkem je, že vaše vlastní instrumentace koreluje se všemi novými automatickými instalacemi, které poskytuje agent Java verze 3.x.

Krok 1: Aktualizace závislostí

Závislost 2.x Akce Poznámky
applicationinsights-core Aktualizace verze na 3.4.3 nebo novější
applicationinsights-web Aktualizujte verzi na 3.4.3 nebo novější a odeberte aplikaci Přehledy webový filtr souboruweb.xml.
applicationinsights-web-auto Nahradit čím nebo novějším 3.4.3applicationinsights-web
applicationinsights-logging-log4j1_2 Odeberte závislost a odeberte z konfigurace Log4j přidávací nástroj Přehledy aplikace. Vzhledem k tomu, že log4j 1.2 je automaticky instruován v agentu Java verze 3.x, už není potřeba.
applicationinsights-logging-log4j2 Odeberte závislost a odeberte z konfigurace Log4j přidávací nástroj Přehledy aplikace. Vzhledem k tomu, že log4j 2 je automaticky instrumentován v agentu Java 3.x, už není potřeba.
applicationinsights-logging-logback Odeberte závislost a odeberte připojení Přehledy aplikace z konfigurace zpětného přihlašování. Vzhledem k tomu, že se logback automaticky instruuje v agentu Java verze 3.x, už není potřeba.
applicationinsights-spring-boot-starter Nahradit čím nebo novějším 3.4.3applicationinsights-web Název cloudové role se už ve výchozím nastavení spring.application.namenepoužívá . Informace o konfiguraci názvu cloudové role najdete v dokumentaci ke konfiguraci 3.x.

Krok 2: Přidání agenta Java verze 3.x

Přidejte agenta Java 3.x do příkazového řádku Java Virtual Machine (JVM), například:

-javaagent:path/to/applicationinsights-agent-3.5.2.jar

Pokud používáte agenta Application Přehledy 2.x Java, stačí nahradit stávající -javaagent:... verzi předchozím příkladem.

Poznámka:

Pokud jste používali úvodní sadu spring-boot a pokud chcete, existuje alternativa k použití agenta Java. Viz 3.x Spring Boot.

Krok 3: Konfigurace Přehledy připojovací řetězec aplikace

Viz konfigurace připojovací řetězec.

Další poznámky

Zbytek tohoto dokumentu popisuje omezení a změny, se kterými se můžete setkat při upgradu z verze 2.x na verzi 3.x, a některá alternativní řešení, která můžou být užitečná.

TelemetryInitializers

2.x SDK TelemetryInitializers se nespustí při použití agenta 3.x. Mnoho případů použití, které dříve vyžadovaly zápis, TelemetryInitializer je možné vyřešit v Aplikaci Přehledy Java 3.x konfigurací vlastních dimenzí. Nebo pomocí zděděných atributů.

TelemetryProcessors

2.x SDK TelemetryProcessors se nespustí při použití agenta 3.x. Mnoho případů použití, které dříve vyžadovaly zápis, TelemetryProcessor je možné vyřešit v aplikaci Přehledy Java 3.x konfigurací přepsání vzorkování.

Více aplikací v jednom prostředí JVM

Tento případ použití se podporuje v aplikaci Přehledy Javě 3.x pomocí přepsání názvu cloudové role (Preview) nebo přepsání řetězců Připojení (Preview).

Názvy operací

V sadě Application Přehledy Java 2.x SDK v některých případech názvy operací obsahovaly úplnou cestu, například:

Snímek obrazovky zobrazující názvy operací s úplnou cestou

Názvy operací v Aplikaci Přehledy Javě 3.x se změnily tak, aby obecně poskytovaly lepší agregované zobrazení na portálu Application Přehledy Portal U/X, například:

Snímek obrazovky znázorňující parametrizované názvy operací

U některých aplikací ale můžete stále preferovat agregované zobrazení v U/X, které byly poskytnuty názvy předchozích operací. V tomto případě můžete k replikaci předchozího chování použít funkci procesorů telemetrie (Preview) ve verzi 3.x.

Následující fragment kódu nakonfiguruje tři procesory telemetrie, které kombinují replikaci předchozího chování. Procesory telemetrie provádějí následující akce (v pořadí):

  1. První procesor telemetrie je procesor atributů (má typ attribute), což znamená, že se vztahuje na veškerou telemetrii, která má atributy (aktuálně requests a dependencies, ale brzy také traces).

    Odpovídá jakékoli telemetrii, která má pojmenované http.request.method atributy a url.path.

    Potom extrahuje url.path atribut do nového atributu s názvem tempName.

  2. Druhý procesor telemetrie je procesor span (má typ span), což znamená, že se vztahuje na requests a dependencies.

    Odpovídá libovolnému rozsahu, který má atribut s názvem tempPath.

    Pak aktualizuje název rozsahu z atributu tempPath.

  3. Poslední procesor telemetrie je procesor atributů, který je stejný jako první procesor telemetrie.

    Odpovídá jakékoli telemetrii, která má atribut s názvem tempPath.

    Potom odstraní atribut s názvem tempPatha atribut se zobrazí jako vlastní dimenze.

{
  "preview": {
    "processors": [
      {
        "type": "attribute",
        "include": {
          "matchType": "strict",
          "attributes": [
            { "key": "http.request.method" },
            { "key": "url.path" }
          ]
        },
        "actions": [
          {
            "key": "url.path",
            "pattern": "https?://[^/]+(?<tempPath>/[^?]*)",
            "action": "extract"
          }
        ]
      },
      {
        "type": "span",
        "include": {
          "matchType": "strict",
          "attributes": [
            { "key": "tempPath" }
          ]
        },
        "name": {
          "fromAttributes": [ "http.request.method", "tempPath" ],
          "separator": " "
        }
      },
      {
        "type": "attribute",
        "include": {
          "matchType": "strict",
          "attributes": [
            { "key": "tempPath" }
          ]
        },
        "actions": [
          { "key": "tempPath", "action": "delete" }
        ]
      }
    ]
  }
}