Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Det finns vanligtvis inga kodändringar när du uppgraderar till 3.x. 3.x SDK-beroenden är no-op API-versioner av 2.x SDK-beroenden. Men när den används med 3.x Java-agenten tillhandahåller 3.x Java-agenten implementeringen för dem. Därför korreleras din anpassade instrumentation med all ny autoinstrumentation som tillhandahålls av 3.x Java-agenten.
Steg 1: Uppdatera beroenden
| 2.x beroende | Åtgärd | Kommentarer | 
|---|---|---|
| applicationinsights-core | Uppdatera versionen till 3.4.3eller senare | |
| applicationinsights-web | Uppdatera versionen till 3.4.3eller senare och ta bort Application Insights-webbfiltret för filenweb.xml. | |
| applicationinsights-web-auto | Ersätt med 3.4.3eller senare avapplicationinsights-web | |
| applicationinsights-logging-log4j1_2 | Ta bort beroendet och ta bort Application Insights-tillägget från Log4j-konfigurationen. | Behövs inte längre eftersom Log4j 1.2 automatiskt instrumenteras i 3.x Java-agenten. | 
| applicationinsights-logging-log4j2 | Ta bort beroendet och ta bort Application Insights-tillägget från Log4j-konfigurationen. | Behövs inte längre eftersom Log4j 2 automatiskt instrumenteras i 3.x Java-agenten. | 
| applicationinsights-logging-logback | Ta bort beroendet och ta bort Application Insights-tillägget från logback-konfigurationen. | Behövs inte längre eftersom Logback automatiskt instrumenteras i 3.x Java-agenten. | 
| applicationinsights-spring-boot-starter | Ersätt med 3.4.3eller senare avapplicationinsights-web | Namnet på molnrollen har inte längre standardvärdet spring.application.name. Information om hur du konfigurerar namnet på molnrollen finns i 3.x-konfigurationsdokumenten. | 
Steg 2: Lägg till 3.x Java-agenten
Lägg till Java-agenten version 3.x i kommandoradsargumenten för din Java Virtual Machine (JVM), till exempel:
-javaagent:path/to/applicationinsights-agent-3.7.5.jar
Om du använder Application Insights 2.x Java-agenten ersätter du bara din befintliga -javaagent:... med föregående exempel.
Kommentar
Om du använder spring-boot-starter och om du föredrar det finns det ett alternativ till att använda Java-agenten. Se 3.x Spring Boot.
Steg 3: Konfigurera din Application Insights-anslutningssträng
Se konfigurera anslutningssträng.
Andra noteringar
Resten av det här dokumentet beskriver begränsningar och ändringar som du kan stöta på när du uppgraderar från 2.x till 3.x och några lösningar som du kan ha nytta av.
telemetriinitialiserare
2.x SDK TelemetryInitializers körs inte när du använder 3.x-agenten.
Många av de användningsfall som tidigare krävde att skriva en TelemetryInitializer kan lösas i Application Insights Java 3.x genom att konfigurera anpassade dimensioner.
Eller använda ärvda attribut.
Telemetribearbetare
2.x SDK TelemetryProcessors körs inte när du använder 3.x-agenten.
Många av de användningsfall som tidigare krävde skrivning av en TelemetryProcessor kan lösas i Application Insights Java 3.x genom att konfigurera samplingsåtsidosättningar.
Flera program i en enda JVM
Det här användningsfallet stöds i Application Insights Java 3.x med åsidosättningar av molnrollnamn (förhandsversion) och/eller åsidosättningar av anslutningssträngar (förhandsversion).
Åtgärdsnamn
I Application Insights Java 2.x SDK innehöll åtgärdsnamnen i vissa fall den fullständiga sökvägen, till exempel:
              
               
              
              
            
Åtgärdsnamn i Application Insights Java 3.x har ändrats för att i allmänhet ge en bättre aggregerad vy i Application Insights Portal U/X, till exempel:
              
               
              
              
            
Men för vissa program kanske du fortfarande föredrar den aggregerade vyn i U/X som tillhandahölls av de tidigare åtgärdsnamnen. I det här fallet kan du använda telemetriprocessorfunktionen (förhandsversion) i 3.x för att replikera det tidigare beteendet.
Följande kodfragment konfigurerar tre telemetriprocessorer som kombineras för att replikera det tidigare beteendet. Telemetriprocessorerna utför följande åtgärder (i ordning):
- Den första telemetriprocessorn är en attributprocessor (har typen - attribute), vilket innebär att den gäller för all telemetri som har attribut (för närvarande- requestsoch- dependencies, men snart också- traces).- Den matchar all telemetri som har attribut med namnet - http.request.methodoch- url.path.- Sedan extraheras - url.pathattributet till ett nytt attribut med namnet- tempName.
- Den andra telemetriprocessorn är en span-processor (har typen - span), vilket innebär att den gäller för- requestsoch- dependencies.- Den matchar alla intervall som har ett attribut med namnet - tempPath.- Sedan uppdateras span-namnet från attributet - tempPath.
- Den sista telemetriprocessorn är en attributprocessor, samma typ som den första telemetriprocessorn. - Den matchar all telemetri som har ett attribut med namnet - tempPath.- Sedan raderas attributet med namnet - tempPath. Attributet visas som en anpassad dimension.
{
  "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" }
        ]
      }
    ]
  }
}
Sampling och saknade loggar
Hastighetsbegränsad sampling är aktiverad som standard från och med agent 3.4, vilket kan orsaka att loggar saknas oväntat.
Projektexempel
Det här Java 2.x SDK-projektet migreras till ett nytt projekt med hjälp av 3.x Java-agenten.