タグ

ブックマーク / blog.lufia.org (4)

  • Goモジュールでツールもバージョン管理する - Plan 9とGo言語のブログ

    Goモジュール管理下では、プロジェクトで使うGo製ツールのバージョンも管理できます。今までの経験では、ツールのバージョンが上がって困ることは記憶にないですが、とはいえ2018年5月ごろにprotoc-gen-goが大きめの変更を入れたこともあるので、バージョン管理しておいて損はないでしょう。このハックは、割とGoモジュール初期からあったようですが、最近使ったので書きました。 Go 1.11 Modules - How can I track tool dependencies for a module? Go modules by example - Tools as dependencies 使い方 ツールを追加する Go 1.13時点では、モジュール管理しているリポジトリでgoimportsなどのツールをgo getすると、go.modが書き換えられて管理対象に入ります*1が、恒久的に

    Goモジュールでツールもバージョン管理する - Plan 9とGo言語のブログ
    crexist
    crexist 2024/05/14
  • OpenTelemetryでメトリックを記録する - Plan 9とGo言語のブログ

    OpenTelemetryトレースの例はいっぱい見つかりますが、メトリックはまだ実装中*1だからなのか、ほとんど見つからなかったので調べたことをまとめました。 OpenTelemetryの概要は公式ドキュメントのOverviewを眺めると雰囲気わかると思います。 Overview 2020/04/30追記: いくつか変更があったので大きめの差分を以下の記事にまとめました blog.lufia.org 使い方 OpenTelemetryでは、メトリックの記録と、メトリックをバックエンドサービスへ送るためのExporter設定を行う必要があります。ExporterはStackdriverやPrometheusなど標準で用意されていているものを使うこともできるし、なければ自分で作ることもできます。この記事では、(せっかく作ったので)Mackerel Exporterを使ってコードを書きますが、ど

    OpenTelemetryでメトリックを記録する - Plan 9とGo言語のブログ
    crexist
    crexist 2024/05/03
  • Goで実装したアプリケーションのメトリックをOpenTelemetryで計装する - Plan 9とGo言語のブログ

    これはOpenTelemetry Advent Calendarの14日目です。 qiita.com どんな話がいいかなと考えていたのですが、ここでは「アプリケーションとOpenTelemetry Collectorがどのように関わってメトリックを(Prometheusなどの)バックエンドサービスに送信するのか」を見ていこうと思いました。今からOpenTelemetryを触るならOpenTelemetry Collectorは実質必須なコンポーネントだと思うで、関係を把握しておくと嬉しいことがあるかもしれません。 OpenTelemetry Collectorとは何か 記憶によると、2020年頃はOpenTelemetry Collectorが存在していなかったので、過去に書いたOpenTelemetryでメトリックを記録するではアプリケーションにExporter*1を組み込んでいました。

    Goで実装したアプリケーションのメトリックをOpenTelemetryで計装する - Plan 9とGo言語のブログ
    crexist
    crexist 2024/05/03
  • Goアセンブリの書き方 - Plan 9とGo言語のブログ

    Goアセンブリの書き方からビルド方法までを一通り調べました。Goアセンブリを書いたことのない人がコードを書いてリンクできるところまでは一通り書いているつもりですが、Goアセンブリの言語仕様を網羅してはいないので、興味があれば最後に書いた参考情報も読んでみてください。 この記事ではGo 1.16.xでAMD64命令セットを扱いますが、具体的な命令や値のサイズ以外は、他のアーキテクチャを使う場合でもだいたい同じだと思います。 アセンブリコードの書き方 GoのアセンブリはPlan 9アセンブリを概ね踏襲していて、AT&T記法です。整数を受け取って、それに2を加算した値を返す関数func add2(i int32) int32を書いてみましょう。アセンブリのコードは.sファイルに書きます。また、アセンブリはアーキテクチャに強く依存するので、Goの習慣にしたがってファイル名にはアーキテクチャ名も入れ

    Goアセンブリの書き方 - Plan 9とGo言語のブログ
    crexist
    crexist 2021/03/18
  • 1