ホームページ  >  記事  >  Java  >  opentelemetry/honeycomb 用の JetBrains Rider プラグインを公開する方法

opentelemetry/honeycomb 用の JetBrains Rider プラグインを公開する方法

DDD
DDDオリジナル
2024-10-23 06:07:30292ブラウズ

How to publish JetBrains Rider plugin for opentelemetry/honeycomb

2 週間前、honeycomb.io を使用する機会がありました。主に、データを送信するコードを変更していました。apinsights azre は、honeycomb にもデータを送信する必要がありました。それほど複雑ではありませんでしたが、理解するのは困難です
ログ行を調べて、エンドポイントを正しく呼び出したかどうか、およびどのようなデータを送信したかを確認します。 appinsights には素晴らしいプラグインがあります https://github.com/Socolin/ApplicationInsightsRiderPlugin ですが、opentelemetry 呼び出しを表示できるプラグインはありませんでした。はい、honeycomb.io は、現在可観測性のための業界標準の一種である opentelemetry を意味する OTEL プロトコルを使用しています。

そこで、opentelemetry デバッグ ログを表示する方法を学ぶ必要がありましたが、これは設定が簡単ではありませんでした。opentelemetry API では、以下のようなログ内のデータを表示するコンソール エクスポーターを設定する必要があるためです

Activity.TraceId:            39de3d235089b014c5e37abefdc3a7f8
Activity.SpanId:             03ae17902e901577
Activity.TraceFlags:         Recorded
Activity.ActivitySourceName: Microsoft.AspNetCore
Activity.DisplayName:        GET Hello
Activity.Kind:               Server
Activity.StartTime:          2024-10-06T21:53:05.9553689Z
Activity.Duration:           00:00:00.2187686
Activity.Tags:
server.address: localhost
server.port: 8080
http.request.method: GET
url.scheme: http
url.path: /Hello
network.protocol.version: 1.1
user_agent.original: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:131.0) Gecko/20100101 Firefox/131.0
http.route: Hello
http.response.status_code: 200
Resource associated with Activity:
service.name: my-service-name
telemetry.sdk.name: opentelemetry
telemetry.sdk.language: dotnet
telemetry.sdk.version: 1.9.0

これを解析してライダーのデバッグ ウィンドウに表示しやすくするには、これを json に変更する必要があったので、この新しいエクスポーターを作成しました。

{"activity":{"traceId":"b49d03d8b55c2f8dfc9f385b3191fdee","spanId":"47c531f9a5a32dca","activityTraceFlags":"Recorded","parentSpanId":"0000000000000000","activitySourceName":"Microsoft.AspNetCore","activitySourceVersion":"","displayName":"GET Hello","kind":"Server","startTime":"2024-10-06T21:54:22.8551436Z","duration":"00:00:00.0013247","tags":{"server.address":"localhost","server.port":"8080","http.request.method":"GET","url.scheme":"http","url.path":"/Hello","network.protocol.version":"1.1","user_agent.original":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:131.0) Gecko/20100101 Firefox/131.0","http.route":"Hello","http.response.status_code":"200"},"statusCode":"Unset","events":[],"links":[],"resource":{"service.name":"my-service-name","telemetry.sdk.name":"opentelemetry","telemetry.sdk.language":"dotnet","telemetry.sdk.version":"1.9.0"},"rootId":"b49d03d8b55c2f8dfc9f385b3191fdee","operationName":"Microsoft.AspNetCore.Hosting.HttpRequestIn"}}

これで json デバッグ ログが得られました。必要なのは、Socolin のプラグインから appinsights を削除し、opentelemetry json を解析してデバッグ ウィンドウに表示することだけでした。

ここでビデオまたはスクリーンショットを確認してください

以上がopentelemetry/honeycomb 用の JetBrains Rider プラグインを公開する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。