英語の原文: https://argusic.com/subject/fastapi-observability

fastapi-observability

FastAPI アプリを、トレース (Tempo)、メトリクス (Prometheus)、ログ (Loki) という可観測性の三本柱で、OpenTelemetry 経由で Grafana 上で観測します。

動作するソース: GitHubPythonMITコミット 2764dba3e8b9

Python、MIT ライセンス. プロジェクト自身の表記: fastapi、grafana、loki、observability、openmetrics、opentelemetry、prometheus、tempo.

fastapi-observability は動作します。Argusic のエージェントが GPU のないクリーンなマシンで 5 分でインストールし、4 件のエラーに遭遇してすべてを自力で修正し、セッション全体が記録されました。

The FastAPI app runs standalone in this container via python main.py with all core endpoints returning expected responses (200) and Prometheus metrics exposed on /metrics; the /chain endpoint requires the Docker-based multi-service stack that could not be stood up without Docker.

クリーンなマシンでエージェントが最終的に得た結果 (エージェント自身の言葉)。 計測方法

Argusic が毎回新しいマシンで計測しています。 すべての数値はその証拠にリンクしています。 Argusic スコア 100 点中 100 点 (このプロジェクトの実行スコアの平均)。

概要

判定
動作する
Argusic スコア
100 / 100
検証した実行のコスト
0.03 USD (実測)
記録された実行
1
最終テスト
スター
1,125
フォーク
143
未解決の Issue
6
ウォッチャー
9
サイズ
17 MB
作成日
最終プッシュ

プロジェクトのデータは GitHub から取得 (このページの冒頭にリンクあり)、更新日 。テストデータは Argusic によるもので (CC BY 4.0)、すべての数値は、完全なログ、録画、それらの sha256 ハッシュを含む実行ページにリンクしています。

計測した内容

この判定を決めた実行から取得しています。 各行は記録された値であり、推定値ではありません。

fastapi-observability のテスト中に各失敗で失われた時間 (記録された実行から作成)
各バーはエージェントが記録した失敗と、それにかかった時間です。この実行のデータのみから描いています。

うまくいかなかった点 (エージェント自身の言葉)

エージェント自身の言葉を、深刻なものから順に掲載しています。助言に書き換えることはありません。

  • siege (used by request-script.sh) is not installed and system packages cannot be installed without root2 分
  • Docker is not available so the docker-compose full observability stack (Grafana/Prometheus/Tempo/Loki) cannot be stood up2 分
  • PEP 668 externally-managed-environment blocked system-wide pip install of project dependencies1 分
  • uv (the documented package manager) is not installed in the container1 分
インストール時間
5 分
クリーンなマシンから完了まで
4 分
遭遇したエラーと修正したエラー
4 件に遭遇、4 件を人の手を借りずに修正
結果の証明方法
curl http://localhost:8000/ returned 200 with {"Hello":"World"}; curl /metrics returned 200 with fastapi_* Prometheus metrics; locust load test executed 29 requests with expected 500s only on /error_test,/random_status (intentional),and /chain (needs Docker services)
使用したモデルのトークン
53,154
テストした正確なコミット
2764dba3e8b9
コンテナイメージ
sha256:cdd920bce783

計測していない内容

残りの半分です。この証拠がどこまでを示すのかを正確に確認できます。欠けている部分は欠けているものとして表示し、埋めることはありません。

GPU メモリのピーク
CPU マシンで実行したため、サンプリングする GPU がありませんでした
長時間の実行での振る舞い
各試行はドキュメントにある最小の設定と決まった時間予算を使うため、計測しているのは動作するかどうかであり、負荷のもとでどう持ちこたえるかではありません

セッションを見る

クリーンなマシンから始まる実行の全体を、実際の速度で再生します。カットも早送りもしていません。

試行 1 の録画、実行日 。上の判定を決めた試行です。 この動画の元になったターミナル録画が証拠であり、sha256 フィンガープリントとともに保存されています。動画はそこからレンダリングしたものです。 再生ボタンを押すまで、動画ホストからは何も読み込まれません。

録画の最後

この判定を決めたターミナルセッションの最後の行を、記録されたとおりに表示しています。

    {
      "msg": "Docker is not available so the docker-compose full observability stack (Grafana/Prome…
      "fix": "Ran the FastAPI app standalone; /chain endpoint returns 500 because it depends on app…
      "minutes": 2
    }
  ],
  "test_depth": "tier1_real",
  "notes": "FastAPI app runs standalone and serves 200 responses on /, /items/{id}, /io_task, /cpu_…
  "verified_how": "curl http://localhost:8000/ returned 200 with {\"Hello\":\"World\"}; curl /metri…
  "final_state": "The FastAPI app runs standalone in this container via python main.py with all cor…
}
```

セッション全体を再生 (クリーンなマシンからこの時点までのすべてのコマンド)。

テスト方法

1 つのエージェント、1 つのコンテナで、人の手は借りません。エージェントはプロジェクト自身のドキュメントに書かれた方法でインストールし、実行し、壊れた部分を修正します。以下はすべて、実際に起きたとおりに記録されています: ターミナルセッション、ログ、そして正確なコミットです。 評価方法の全文.

強みと限界

意見ではなく、計測された事実です。コンテンツの作成方法.

うまくいった点

  • クリーンなマシンで実行状態に達し、セッションが記録されました。
  • 5 分でインストールできました。
  • 4 件のエラーすべてから、人の介入なしに回復しました。失敗が解決できる程度にはドキュメント化されていることを示しています。
  • GPU なしで動作したため、起動に GPU は必要ありません。
  • ホストの報告によると、ライセンスは MIT です。

うまくいかなかった点、または不明な点

  • これまでの計測は 1 回です。1 回の試行は動作し得ることを示すだけで、安定して動作することは示しません。

適している用途

  • ノートパソコンや小さなサーバーで試す場合: GPU なしで実行状態に達しました。
  • 手早く評価したい場合: クローンから 5 分後には動作していました。

同じ分野でテストしたプロジェクト

ここに挙げたものはすべて、Argusic がクリーンなマシンにインストールして実行しました。テストしていないものは表示されません。

実行履歴

テスト担当試行結果スコアコスト (USD)日時
Argusic Runner1/3動作した100.000.03

トピック (出典: GitHub)

fastapigrafanalokiobservabilityopenmetricsopentelemetryprometheustempo

バッジを埋め込む

プロジェクトの README に貼る Markdown です。バッジはこのページにリンクします。利用条件: 利用規約ページ.

[![Tested by Argusic](https://argusic.com/badge/fastapi-observability.svg)](https://argusic.com/subject/fastapi-observability)

質問

fastapi-observability は動作しますか?
はい。fastapi-observability は動作します. Argusic はクリーンなマシンで 5 分でインストールして起動し、途中で 4 件のエラーに遭遇し、セッションを記録しました。
Argusic は fastapi-observability をどのようにテストしましたか?
新しい使い捨てのマシンで、すべてのコマンドを記録しながらテストしました (リポジトリはコミット 2764dba3e8b9 に固定)。記録された試行は 1 回で、手順の全体は評価方法のページに掲載しています。
fastapi-observability のテストにはいくらかかりましたか?
この判定を出した実行のコストは 0.03 USD です: 100 万トークンあたりの定価ではなく、実際の計算資源とモデルのコストです。その実行のページに記録されています。
fastapi-observability のインストールにはどのくらい時間がかかりますか?
この判定を決めた実行では、クリーンなマシンから実行状態まで 5 分でした。これは 1 回の計測された試行であり、平均ではありません。
fastapi-observability には GPU が必要ですか?
起動には必要ありません。Argusic は GPU のないマシンで実行状態に達しました。
fastapi-observability のインストールでは何がうまくいきませんか?
記録された実行では 4 件の問題が発生しました。そのうち 4 件は人の手を借りずに修正されました。それぞれの問題と、かかった時間をこのページに掲載しています。
fastapi-observability の証拠はどこにありますか?
記録された実行をこのページに掲載しており、それぞれが完全なログとターミナル録画にリンクしています。録画は sha256 フィンガープリントとともに保存されているため、こっそり改変することはできません。

Discussion