daangn/autopprof

Linux コンテナ環境で CPU やメモリ使用率が閾値を超えたら Go アプリを自動プロファイルするライブラリです

開発の材料自由に使える · Apache-2.0DevOps・インフラGo難易度
218+0今週0
10フォーク0Issue

中辛 の解説

Go で書かれたこのライブラリは、Linux コンテナのリソースクォータに対する使用率を監視します。CPU・メモリ・ゴルーチン数のほか、カスタムメトリクスも登録可能です。Slack Reporter が組み込まれており、プロファイルダンプを自動レポートできます。v2 では Metric インターフェースで統一されて拡張性が高まり、カスタムメトリクス(接続プール使用率、キューバックログなど)を自分で実装して登録できます。オーバーヘッドは微小(ベンチマーク参照)なため、本番環境への導入も安心です。

이런 레포예요

이럴 때 쓰면 좋아요

  • 本番環境で突発的なリソース枯渇が発生したときに自動的にプロファイルを取得して原因を調査する
  • データベース接続プール使用率などのカスタムメトリクスをアプリケーション固有で定義して監視する
  • Slack に自動的にプロファイルレポートを送信して、チーム全体でパフォーマンス情報を共有する

핵심 기능

CPU・メモリ・ゴルーチン数の自動監視と閾値超過時の自動プロファイリングカスタムメトリクス登録機能で独自ドメイン信号を監視可能Slack Reporter による自動レポート機能

대안 대비 차별점

Linux cgroup のリソースリミットに対する使用率ベースの自動トリガー、カスタムメトリクスを Metric インターフェースで統一実装できる拡張性、微小なオーバーヘッドが特徴です。

食べた人たち

実際に使ってみた人の記録です — 一言も完走の記録も、確認のうえで公開しています。

試食評 · 使った人のひとこと

まだ試食評がありません。使ってみたら、最初のひとことをどうぞ。

ほかのリポジトリの試食評を見る →

이 레포로 만든 것들

🖋 완주 인증하기

아직 이 레포로 만든 완주 인증이 없어요. 첫 밥도장을 찍어보세요!

このリポジトリの作り方

はじめてですか? むずかしくありません — 上から順にたどれば、自分の環境で動かして味見できます。

준비물

  • Go 1.13 以上
  • Linux コンテナ環境

すぐ動かしてみるGo

ギット飯がリポジトリの構成を確認して組み立てた実行コマンドです。ターミナルに貼り付ければ、取得から実行までまとめて進みます。

git clone --depth 1 https://github.com/daangn/autopprof.git &&
cd autopprof &&
go run .

コードは自分の環境で動きます — はじめて見るリポジトリなら、中身にひととおり目を通してから実行するのがおすすめです。

README가 안내하는 자세한 단계 보기
  1. モジュールをインストールします。
go get -u github.com/daangn/autopprof/v2
  1. Go コード内で autopprof を初期化します。
package main

import (
	"errors"
	"log"
	"time"

	"github.com/daangn/autopprof/v2"
	"github.com/daangn/autopprof/v2/report"
)

func main() {
	err := autopprof.Start(autopprof.Option{
		App:            "YOUR_APP_NAME",
		CPUThreshold:   0.8,
		MemThreshold:   0.8,
		WatchInterval:  10 * time.Second,
		ReportCooldown: 5 * time.Minute,
		Reporter: report.NewSlackReporter(
			&report.SlackReporterOption{
				Token:     "YOUR_TOKEN_HERE",
				ChannelID: "REPORT_CHANNEL_ID",
			},
		),
	})
	if errors.Is(err, autopprof.ErrUnsupportedPlatform) {
		log.Println(err)
	} else if err != nil {
		log.Fatalln(err)
	}
	defer autopprof.Stop()

	// Your code here.
}
  1. アプリケーションをビルド・実行します。
go build
./your_app

ギット飯トライで味見

入れるのが面倒で少し不安だったなら — 安全スキャンからインストールまで、ターミナル一行で終わります。

ターミナルに貼り付ければ、ギット飯の安全スキャン → 隔離フォルダへ clone → インストール → 実行方法の案内まで自動です。はじめてでも大丈夫 — この一行だけです。

npx gitbap-try daangn/autopprof

Node.js さえあれば、インストールなしで動きます · ギット飯トライとは? →

スター推移 · 7日

218+0 / 7일

使いやすさ · まねしやすいか

まねしやすいサンプル評点 50/100
  • ゆるいライセンス
  • テストあり
  • サンプル集
  • 最近の更新
  • AGENTS.md
  • llms.txt
  • テンプレート

最近の更新あり · 2022 年に作成

「데브옵스·인프라」 こういうリポジトリを毎週受け取りませんか?

毎週月曜の朝、選んだ一膳だけ。広告なし · いつでも解除。

自分のリポジトリですか? README にギット飯バッジを貼る
[![깃밥](https://www.gitbap.com/badge/daangn/autopprof.svg)](https://www.gitbap.com/r/daangn/autopprof)
Claude からそのまま使う — ギット飯のつなぎ方

ギット飯を Claude につなぐと、こうしたリポジトリを Claude・Cursor・Codex から直接さがして試せます。

方法 ① コネクタ URL

Claude の設定 → コネクタにこのアドレスを貼り付け。

https://www.gitbap.com/api/mcp
方法 ② プラグイン(試用まで)

プラグインを入れると /gitbap-trending·/gitbap-try のスラッシュコマンドで、その場でリポジトリを試せます。Claude Code で下の 2 行を順に実行してください。

/plugin marketplace add jakeparkcolde/gitbap-cowork
/plugin install gitbap-cowork@gitbap
つなぎ方をくわしく →

AI が README をもとに要約しました · 原文を見る