Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Er zijn doorgaans geen codewijzigingen bij het upgraden naar 3.x. De 3.x SDK-afhankelijkheden zijn geen API-versies van de 2.x SDK-afhankelijkheden. Wanneer de Java-agent 3.x wordt gebruikt, biedt de 3.x Java-agent echter de implementatie ervan. Als gevolg hiervan wordt uw aangepaste instrumentatie gecorreleerd met alle nieuwe automatische instrumentatie die wordt geleverd door de 3.x Java-agent.
Stap 1: Afhankelijkheden bijwerken
| 2.x-afhankelijkheid | Actie | Opmerkingen | 
|---|---|---|
applicationinsights-core | 
De versie bijwerken naar 3.4.3 of hoger | 
|
applicationinsights-web | 
Werk de versie bij naar 3.4.3 of hoger en verwijder het Application Insights-webfilter voor uw web.xml bestand. | 
|
applicationinsights-web-auto | 
Vervangen door 3.4.3 of hoger van applicationinsights-web | 
|
applicationinsights-logging-log4j1_2 | 
Verwijder de afhankelijkheid en verwijder de Application Insights-toevoegfunctie uit uw Log4j-configuratie. | Niet meer nodig omdat Log4j 1.2 automatisch wordt geïnstrumenteerd in de 3.x Java-agent. | 
applicationinsights-logging-log4j2 | 
Verwijder de afhankelijkheid en verwijder de Application Insights-toevoegfunctie uit uw Log4j-configuratie. | Niet meer nodig omdat Log4j 2 automatisch wordt geïnstrumenteerd in de Java-agent van versie 3.x. | 
applicationinsights-logging-logback | 
Verwijder de afhankelijkheid en verwijder de Application Insights-toevoegfunctie uit uw Logback-configuratie. | Niet meer nodig omdat Logback geautomatiseerd wordt geïnstrumenteerd in de 3.x Java-agent. | 
applicationinsights-spring-boot-starter | 
Vervangen door 3.4.3 of hoger van applicationinsights-web | 
De naam van de cloudrol wordt niet meer standaard ingesteld op spring.application.name. Zie de configuratiedocumenten voor 3.x voor meer informatie over het configureren van de naam van de cloudrol. | 
Stap 2: De 3.x Java-agent toevoegen
Voeg de 3.x Java-agent toe aan uw JVM-opdrachtregelargumenten (Java Virtual Machine), bijvoorbeeld:
-javaagent:path/to/applicationinsights-agent-3.7.5.jar
Als u de Application Insights 2.x Java-agent gebruikt, vervangt u uw bestaande -javaagent:... door het vorige voorbeeld.
Notitie
Als u de Spring Boot Starter gebruikt en als u dat liever heeft, is er een alternatief voor het gebruik van de Java-agent. Zie 3.x Spring Boot.
Stap 3: Uw Application Insights-verbindingsreeks configureren
Zie het configureren van de verbindingsreeks.
Overige aantekeningen
In de rest van dit document worden beperkingen en wijzigingen beschreven die kunnen optreden bij het upgraden van 2.x naar 3.x, en enkele tijdelijke oplossingen die u mogelijk nuttig vindt.
Telemetrie-initialisatoren
2.x SDK TelemetryInitializers worden niet uitgevoerd wanneer u de 3.x-agent gebruikt.
Veel van de gebruiksvoorbeelden die eerder vereist waren om een TelemetryInitializer te schrijven, kunnen worden opgelost in Application Insights Java 3.x door aangepaste dimensies te configureren.
Of met overgenomen kenmerken.
Telemetrieverwerkers
2.x SDK TelemetryProcessors worden niet uitgevoerd wanneer u de 3.x-agent gebruikt.
Veel van de gebruiksvoorbeelden die eerder vereisten dat er een TelemetryProcessor werd geschreven, kunnen in Application Insights Java 3.x worden opgelost door sample-overschrijvingen te configureren.
Meerdere toepassingen in één JVM
Deze use case wordt ondersteund in Application Insights Java 3.x met behulp van overschrijvingen van cloudrollen (preview) en/of overschrijvingen van verbindingsreeksen (preview).
Bewerkingsnamen
In de Application Insights Java 2.x SDK bevatten in sommige gevallen de namen van de bewerkingen het volledige pad, bijvoorbeeld:
              
              
              
              
            
Bewerkingsnamen in Application Insights Java 3.x zijn gewijzigd om over het algemeen een betere geaggregeerde weergave te bieden in de Application Insights-portal-U/X, bijvoorbeeld:
              
              
              
              
            
Voor sommige toepassingen geef je mogelijk nog steeds de voorkeur aan de samengevoegde weergave in de U/X, zoals die eerder was gepresenteerd door de vorige operationele namen. In dit geval kunt u de functie telemetrieprocessors (preview) in 3.x gebruiken om het vorige gedrag te repliceren.
Het volgende codefragment configureert drie telemetrieprocessors die combineren om het vorige gedrag te repliceren. De telemetrieprocessors voeren de volgende acties uit (in volgorde):
De eerste telemetrieprocessor is een kenmerkprocessor (heeft type
attribute), wat betekent dat het van toepassing is op alle telemetrie die kenmerken heeft (momenteelrequestsendependencies, maar binnenkort ooktraces).Het komt overeen met alle telemetriegegevens met kenmerken met de naam
http.request.methodenurl.path.Daarna extraheert het het kenmerk
url.pathnaar een nieuw kenmerk genaamdtempName.De tweede telemetrieprocessor is een spanprocessor (heeft type
span), wat betekent dat deze van toepassing is oprequestsendependencies.Het komt overeen met elk span dat een attribuut heeft met de naam
tempPath.Vervolgens wordt de spannaam van het kenmerk
tempPathbijgewerkt.De laatste telemetrieprocessor is een kenmerkprocessor, hetzelfde type als de eerste telemetrieprocessor.
Deze komt overeen met alle telemetriegegevens met een kenmerk met de naam
tempPath.Vervolgens wordt het kenmerk met de naam
tempPathverwijderd en wordt het kenmerk weergegeven als een aangepaste dimensie.
{
  "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" }
        ]
      }
    ]
  }
}
Steekproeven en ontbrekende logboeken
Frequentie-beperkte steekproeven zijn standaard ingeschakeld vanaf agent-versie 3.4, wat onverwacht ontbrekende logs kan veroorzaken.
Projectvoorbeeld
Dit Java 2.x SDK-project wordt gemigreerd naar een nieuw project met behulp van de 3.x Java-agent.