Java 2.x SDK'Analizler Uygulamadan Yükseltme
3.x sürümüne yükseltirken genellikle kod değişikliği olmaz. 3.x SDK bağımlılıkları, 2.x SDK bağımlılıklarının api olmayan sürümleridir. Ancak, 3.x Java aracısı ile kullanıldığında, 3.x Java aracısı onlar için uygulamayı sağlar. Sonuç olarak, özel izlemeniz 3.x Java aracısı tarafından sağlanan tüm yeni otomatik yetkisiz erişimle ilişkilendirilir.
1. Adım: Bağımlılıkları güncelleştirme
2. Adım: 3.x Java aracısını ekleme
Java Sanal Makinesi (JVM) komut satırı args'nize 3.x Java aracısını ekleyin, örneğin:
-javaagent:path/to/applicationinsights-agent-3.5.2.jar
Application Analizler 2.x Java aracısını kullanıyorsanız mevcut -javaagent:...
örneğinizi önceki örnekle değiştirmeniz yeter.
Not
Spring-boot-starter kullanıyorsanız ve tercih ederseniz Java aracısını kullanmanın bir alternatifi vardır. Bkz . 3.x Spring Boot.
3. Adım: Uygulama Analizler bağlantı dizesi yapılandırma
Bkz. bağlantı dizesi yapılandırma.
Diğer notlar
Bu belgenin geri kalanında, 2.x'ten 3.x'e yükseltirken karşılaşabileceğiniz sınırlamalar ve değişiklikler ve yararlı bulabileceğiniz bazı geçici çözümler açıklanmaktadır.
TelemetryInitializers
2.x SDK TelemetriSiyelleştiricileri 3.x aracısını kullanırken çalışmaz.
Daha önce yazması TelemetryInitializer
gereken kullanım örneklerinin çoğu, özel boyutlar yapılandırılarak Application Analizler Java 3.x'te çözülebilir.
Veya devralınan öznitelikleri kullanma.
TelemetryProcessors
2.x SDK Telemetri İşlemcileri, 3.x aracısını kullanırken çalışmaz.
Daha önce yazması TelemetryProcessor
gereken kullanım örneklerinin çoğu, örnekleme geçersiz kılmaları yapılandırılarak Java 3.x Analizler Uygulama'da çözülebilir.
Tek bir JVM'de birden çok uygulama
Bu kullanım örneği, Bulut rolü adı geçersiz kılmaları (önizleme) ve/veya Bağlan dize geçersiz kılmaları (önizleme) kullanılarak Java 3.x Analizler desteklenir.
İşlem adları
Uygulama Analizler Java 2.x SDK'sında, bazı durumlarda işlem adları tam yolu içerir, örneğin:
Application Analizler Java 3.x'teki işlem adları genellikle Uygulama Analizler Portalı U/X'te daha iyi bir toplu görünüm sağlayacak şekilde değiştirildi, örneğin:
Ancak, bazı uygulamalar için yine de önceki işlem adları tarafından sağlanan U/X'te toplu görünümü tercih edebilirsiniz. Bu durumda, önceki davranışı çoğaltmak için 3.x'teki telemetri işlemcileri (önizleme) özelliğini kullanabilirsiniz.
Aşağıdaki kod parçacığı, önceki davranışı çoğaltmak için birleştirilen üç telemetri işlemcisi yapılandırılır. Telemetri işlemcileri aşağıdaki eylemleri gerçekleştirir (sırayla):
İlk telemetri işlemcisi bir öznitelik işlemcisidir (türüne
attribute
sahiptir), yani öznitelikleri olan tüm telemetri için geçerlidir (şu andarequests
vedependencies
, ancak yakında datraces
).ve
url.path
adlıhttp.request.method
öznitelikleri olan telemetri verileriyle eşleşir.Ardından özniteliği adlı
tempName
yeni bir özniteliğine ayıklarurl.path
.İkinci telemetri işlemcisi, ve için
requests
dependencies
geçerli olduğu anlamına gelen bir span işlemcidir (türünespan
sahiptir).adlı
tempPath
özniteliği olan herhangi bir span ile eşleşir.Ardından özniteliğinden
tempPath
span adını güncelleştirir.Son telemetri işlemcisi, ilk telemetri işlemcisi ile aynı türde bir öznitelik işlemcisidir.
adlı
tempPath
bir özniteliği olan telemetri verileriyle eşleşir.Ardından adlı
tempPath
özniteliği siler ve özniteliği özel bir boyut olarak görünür.
{
"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" }
]
}
]
}
}