1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Codeの利用料を計測する(New Relic、Langfuse、ccusage)

1
Last updated at Posted at 2026-10-31

Claude CodeのMaxやTeamプランは基本的に定額制となっていますが、従量課金制のプランや追加クレジットもあります。しかし普段から定額制で使っていると、従量課金でどれくらいの金額になるのかは、よく分かりません。
定額制プランのClaude Codeでも、利用状況を計測する方法がいくつかあるので、トークンや料金を計測してみました。

本稿では以下複数パターンで計測してみます。

  • ccusage
  • NewRelic Preflight
  • Langfuse
  • OpenTelemetry (NewRelic)

結論から言うと、以下のような使い分けが良いのではと思いました。

  • 気軽に計測したいなら ccusage
  • 分析結果も欲しいなら Preflight
  • 詳細を自分で見たいなら Langfuse
  • できるだけ正確な結果が欲しいなら OpenTelemetry

本稿の実行環境

Claude Codeはインストール済とします。他にインストール必要なツールはmiseを使ってセットアップしていきます。

  • Debian GNU/Linux 12 (bookworm)
  • mise 2026.10.19 linux-x64
  • Claude Code 2.1.309

計測設定

それぞれのツールの設定方法を説明します。

ccusageを使う場合

ccusageはローカルで動作するClaude Code(cc)のトークンとコストを計算するCLIツールです。使うにはnpmでインストールすればいいだけです。

$ mise use --global npm:ccusage
$ ccusage

ccusageはClaude Codeがローカルに残すログを見るので、インストールすればすぐに、過去に遡って表示できます。最も気軽に計測できる選択肢だと思います。

New Relic Preflightを使う場合

New Relic Preflight(以下Preflight)は、New Relicが提供するAIコーディングツールの可視化ツールです。ローカルとクラウドで利用できます。デフォルトはローカル動作で、この場合はNew Relic のアカウントも不要です。

下記のような感じでインストールしてセットアップをすれば、使えるようになります。

$ mise use --global npm:@newrelic/preflight
$ mise x -- preflight setup

セットアップ以降、Claude Codeを起動すると計測されます。内部でWebサーバーが起動して、計測結果は localhost:7777 で閲覧できます。
計測にはClaude Codeのフックを使います。また、デフォルトだとClaude Codeを終了するとサーバーも終了するため、ローカルの計測結果を見ることができません。

image.png

トークン数やコストの他に、データが追跡されていくとコストの予測ができたり、効率の悪い利用方法にフラグが付いたりもするようです。

Langfuseを使う場合

LangfuseはLLMアプリケーションの観測ツールです。Claude Codeのような開発者ツールではなく実際のプロダクトを観測するために使うことが多いような気がしますが、Claude Codeにも利用できます。

利用するには、あらかじめLangfuseのクラウド版をアカウント作成しておくか、OSS版を構築しておきます。いずれも、個人の趣味プロジェクト程度であれば無料で利用できます。

実際にLangfuseでClaude Codeを計測するにはフックを使います。公式に設定ガイドがあるので、基本はこちらに従います。miseでuv管理している環境ならばInline Script Metadataを使って依存関係管理をしたいので、そこだけ変更します。

$ mise x --  uv init --script ~/.claude/hooks/langfuse_hook.py
$ mise x --  uv add "langfuse>=4.0,<5" --script ~/.claude/hooks/langfuse_hook.py
$ chmod +x ~/.claude/hooks/langfuse_hook.py

~/.claude/hooks/langfuse_hook.py に、公式ドキュメントのスクリプトをコピペします。shebangは書き換えておきましょう。また、実際にはlangfuseパッケージのバージョンも固定したほうが良いでしょう。

#!/usr/bin/env -S mise x uv -- uv run --script
# /// script
# requires-python = ">=3.14"
# dependencies = [
#     "langfuse>=4.0,<5",
# ]
# ///


# 以下公式ドキュメントのスクリプトと同一
"""
Claude Code -> Langfuse hook

"""

あとは、公式ドキュメントに記載の通り、.claude/settings.json に環境変数とフックを追加すればセットアップは完了です。
Claude Codeを利用すると、LangfuseのトレースにClaude Codeの利用状況が乗るようになります。

image.png

トレースごとのコスト・トークン・実行時間の他に、コンテキストやツール呼び出しなども詳細に追跡できます。
CC_LANGFUSE_MAX_CHARSという環境変数をゼロにするとテキストは記録されなくなります。Langfuseのクラウド版をチームで使っている場合など、コンテキストを見られたくない場合はこちらを設定したほうが良いと思います。

注意点として、LLMアプリケーションを開発していて、アプリケーション側にLangfuseの計測設定があると、環境変数が競合してClaude Codeの計測値もアプリケーション側のLangfuseに飛ばされてしまいます。Langfuseのインスタンスやプロジェクトを区別したい場合は、気をつけてください。

OpenTelemetryをNew Relicで計測する場合

Claude Code公式にもOpenTelemetry(OTel)の計測機能があります。

OTelのエクスポート先は何でも良いのですが、本稿ではPreflightと同じNew Relicに送ってみます。あらかじめNew Relicのアカウントをセットアップしておいてください。

色々書いてありますが計測するだけなら設定は簡単で、~/.claude/settings.json に環境変数を追加するだけです。

~/.claude/settings.json(抜粋)
{
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "OTEL_METRICS_EXPORTER": "otlp",
    "OTEL_EXPORTER_OTLP_PROTOCOL": "grpc",
    "OTEL_EXPORTER_OTLP_ENDPOINT": "https://otlp.nr-data.net:4317",
    "OTEL_EXPORTER_OTLP_HEADERS": "api-key=<APIキー>",
  },

APIキーとして使うのはINGEST - LICENSEキーになります。

設定したらClaude Codeを使うとテレメトリが送信されます。
New RelicでFROM Metric SELECT count(*) WHERE metricName LIKE 'claude_code.%' SINCE 300 minutes agoのようなクエリを実行することで、届いてるかどうか確認できます。

他にもたとえば以下のようなクエリで結果を確認できます。

モデル別のコスト

FROM Metric SELECT sum(claude_code.cost.usage) FACET model TIMESERIES

モデルと種類別のトークン

FROM Metric
SELECT
  filter(sum(claude_code.token.usage), WHERE type = 'input')         AS 'input',
  filter(sum(claude_code.token.usage), WHERE type = 'output')        AS 'output',
  filter(sum(claude_code.token.usage), WHERE type = 'cacheRead')     AS 'cacheRead',
  filter(sum(claude_code.token.usage), WHERE type = 'cacheCreation') AS 'cacheCreation'
FACET model

計測コスト比較

本稿のすべての計測を設定した状態で、適当なプロジェクトで1ドル程度の開発を行い、コストがどう計測されるかを見てみました。
またClaude Codeは定額のサブスクリプションをログアウトしてAPIプラットフォームを使うことで、実際の請求額とも突き合わせてみました。

計測方法 コスト
ccusage $1.19
New Relic Preflight $1.19
Langfuse $1.19
OpenTelemetry $1.26
Claude Consoleの実際のコスト $1.26

OpenTelemetryの計測結果は、Claude Codeの実際のコストと一致しました。一方でその他の計測手法ccusage・Preflight・Langfuseは、いずれも少し低い値になりました。

ccusage: $1.19

Total Cost: $1.19
Total Tokens: 1,777,903
Total Entries: 41

Preflight: $1.19
image.png

Langfuse: $1.188
image.png

OpenTelemetry: $1.26
image.png

Claude Console: $1.26
image.png

OpenTelemetryはClaude Codeが公式に提供している機能なのもあって、割と完全に近い値が取れているようです。たとえば、今回Claude Codeで明示的に利用したモデルはOpus 5.5だけでしたが、OpenTelemetryではClaude Codeが内部で一部の処理に使っているHaikuの計測もできているようです。
一方で他の手法はフックやログデータを独自に収集する物なので、いくつか欠落があるようです。

ccusageの手軽さやCLIで完結する使いやすさ、Preflightの分析機能など、他のツールにもそれぞれ特徴はあります。チームで共有する必要がある場合はLangfuseやNew RelicのようなWebサービスが必要になってきます。目的や用途に応じて計測手法を選ぶのが良いと思いました。

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?