タグ

計装に関するsh19910711のブックマーク (3)

  • Goを改善するためのGo Telemetry

    はじめに こんにちは!Google CloudでオブザーバビリティやSRE関連の担当をしているエンジニアです。この記事はGoアドベントカレンダーの22日目の記事です。 Goとオブザーバビリティ 私は業務でオブザーバビリティを中心として啓蒙活動や開発を行っているわけですが、その中で常に「改善にはまず計測が必要です」というメッセージをさまざまな方々にお伝えしています。 Goでは計測のための仕組みとして( testing.B あるいは go test -bench として知られる)ベンチマーク[1]や pprof が最初期から[2]用意されていて、パフォーマンス計測はかなり標準が充実した言語になっています。 そして近年もそれに満足せず、Goを改善するための計測の仕組みがいくつも提案されています。 たとえばruntime/metricsはdesign #37112で提案されてGo 1.16から導入

    Goを改善するためのGo Telemetry
    sh19910711
    sh19910711 2024/06/26
    "runtime/metrics: Go 1.16から導入 + ランタイムのメトリクスにもとづいたプログラムの制御などが少しやりやすくなり / 近年もそれに満足せず、Goを改善するための計測の仕組みがいくつも提案" 2023
  • OpenTelemetryのBufferingとRetryについて


    OpenTelemetryTraceCollectorSideCar 調 RetryBuffering使OpenTelemetry SDK OpenTelemetrySDKTracelogstrace idspan id trace idspan idTraceLog TracerProviderTracerAPI
    OpenTelemetryのBufferingとRetryについて
    sh19910711
    sh19910711 2024/06/22
    "データロストを防ぐ方法としては、RetryとBufferingがよく使われる / OpenTelemetryではどのように実装されているか / そもそもOpenTelemetryはSamplingがあり、すべてのデータを送信するようにはなってはいない事が多い"
  • OpenTelemetryのPythonインストゥルメンテーションパターン分類

    https://opentelemetry.io/docs/languages/python/automatic/example/ の要点抽出です。 手動(manual)インストゥルメンテーション 概要: プログラムの処理中で tracer.start_as_current_span でスパンを作成する @app.route("/server_request") def server_request(): with tracer.start_as_current_span( "server_request", context=extract(request.headers), kind=trace.SpanKind.SERVER, attributes=collect_request_attributes(request.environ), ): print(request.args.ge

    OpenTelemetryのPythonインストゥルメンテーションパターン分類
    sh19910711
    sh19910711 2024/05/21
    "自動インストゥルメンテーション: モンキーパッチによってログを出力 + コード自体にはOpenTelemetry用の内容変更はなし + 監視用プロセス内でサーバーを起動 / FlaskInstrumentor"
  • 1