Heim  >  Artikel  >  Java  >  So veröffentlichen Sie das JetBrains Rider-Plugin für opentelemetry/honeycomb

So veröffentlichen Sie das JetBrains Rider-Plugin für opentelemetry/honeycomb

DDD
DDDOriginal
2024-10-23 06:07:30288Durchsuche

How to publish JetBrains Rider plugin for opentelemetry/honeycomb

Ich hatte vor 2 Wochen die Gelegenheit, mit honeycomb.io zu arbeiten. Hauptsächlich habe ich den Code geändert, der Daten zu Appinsights Azre sendet, die nun benötigt werden, um Daten auch an Honeycomb zu senden. Es war nicht allzu komplex, aber es ist schwer, diese zu erfassen
Protokollzeilen und stellen Sie sicher, dass wir den Endpunkt richtig aufgerufen haben und welche Daten wir gesendet haben. Dafür gibt es ein wunderbares Plugin für Appinsights https://github.com/Socolin/ApplicationInsightsRiderPlugin, aber es gab kein Plugin, das Opentelemetry-Aufrufe anzeigen kann, ja honeycomb.io verwendet das OTEL-Protokoll, was Opentelemetry bedeutet, was mittlerweile eine Art Industriestandard für Beobachtbarkeit ist.

Also musste ich lernen, wie man OpenTelemetry-Debug-Protokolle anzeigt, was nicht einfach zu konfigurieren war, da die OpenTelemetry-API erfordert, dass Sie den Konsolenexporter konfigurieren, der einige Daten in den Protokollen anzeigt, wie unten dargestellt

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

Dies musste auf JSON geändert werden, damit ich es analysieren und im Rider-Debug-Fenster besser anzeigen konnte, also habe ich diesen neuen Exporter geschrieben.

{"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"}}

Jetzt habe ich das JSON-Debug-Protokoll. Alles, was ich brauchte, war, Appinsights aus dem Socolin-Plugin zu entfernen, den Opentelemetry-JSON zu analysieren und ihn im Debug-Fenster anzuzeigen.

Sehen Sie sich hier das Video oder den Screenshot an

Das obige ist der detaillierte Inhalt vonSo veröffentlichen Sie das JetBrains Rider-Plugin für opentelemetry/honeycomb. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn