リソース属性 (Resource Attributes)
すべてのシグナル(Span、Metric、Log)に付与されます。| 属性 | タイプ | 例 |
|---|---|---|
service.name | string | dify |
host.name | string | dify-api-7f8b |
トレース (Traces / Spans)
dify.workflow.run
| 属性 | タイプ | 説明 |
|---|---|---|
dify.trace_id | string | 業務トレースID(ワークフロー実行ID) |
dify.tenant_id | string | テナント識別子 |
dify.app_id | string | アプリケーション識別子 |
dify.workflow.id | string | ワークフロー定義ID |
dify.workflow.run_id | string | 今回の実行の一意なID |
dify.workflow.status | string | succeeded(成功)、failed(失敗)、stopped(停止)など |
dify.workflow.error | string | 失敗時のエラーメッセージ |
dify.workflow.elapsed_time | float | 総実行時間(秒) |
dify.invoke_from | string | api、webapp、debug |
dify.conversation.id | string | 会話ID(オプション) |
dify.message.id | string | メッセージID(オプション) |
dify.invoked_by | string | 実行をトリガーしたユーザーID |
gen_ai.usage.total_tokens | int | 全ノードの総トークン数(オプション) |
gen_ai.user.id | string | エンドユーザー識別子(オプション) |
dify.parent.trace_id | string | 親ワークフローのトレースID(オプション) |
dify.parent.workflow.run_id | string | 親ワークフローの実行ID(オプション) |
dify.parent.node.execution_id | string | 親ノードの実行ID(オプション) |
dify.parent.app.id | string | 親アプリID(オプション) |
dify.node.execution
| 属性 | タイプ | 説明 |
|---|---|---|
dify.trace_id | string | 業務トレースID |
dify.tenant_id | string | テナント識別子 |
dify.app_id | string | アプリケーション識別子 |
dify.workflow.id | string | ワークフロー定義ID |
dify.workflow.run_id | string | ワークフロー実行ID |
dify.message.id | string | メッセージID(オプション) |
dify.conversation.id | string | 会話ID(オプション) |
dify.node.execution_id | string | ノード実行の一意なID |
dify.node.id | string | ワークフローグラフ内のノードID |
dify.node.type | string | ノードタイプ(付録参照) |
dify.node.title | string | 表示タイトル |
dify.node.status | string | succeeded(成功)、failed(失敗) |
dify.node.error | string | 失敗時のエラーメッセージ |
dify.node.elapsed_time | float | 実行時間(秒) |
dify.node.index | int | 実行順序インデックス |
dify.node.predecessor_node_id | string | トリガーノードID |
dify.node.iteration_id | string | イテレーションID(オプション) |
dify.node.loop_id | string | ループID(オプション) |
dify.node.parallel_id | string | 並列ブランチID(オプション) |
dify.node.invoked_by | string | 実行をトリガーしたユーザーID |
gen_ai.usage.input_tokens | int | プロンプトトークン数(LLMノードのみ) |
gen_ai.usage.output_tokens | int | 完了トークン数(LLMノードのみ) |
gen_ai.usage.total_tokens | int | 総トークン数(LLMノードのみ) |
gen_ai.request.model | string | LLMモデル名(LLMノードのみ) |
gen_ai.provider.name | string | LLMプロバイダー名(LLMノードのみ) |
gen_ai.user.id | string | エンドユーザー識別子(オプション) |
dify.node.execution.draft
属性はdify.node.execution と同じです。プレビュー/デバッグ実行中に送信されます。
カウンター (Counters)
すべてのカウンターは累積値であり、100%の精度で送信されます。トークンカウンター (Token Counters)
| メトリック (Metric) | 単位 | 説明 |
|---|---|---|
dify.tokens.total | {token} | 消費された総トークン数 |
dify.tokens.input | {token} | 入力(プロンプト)トークン数 |
dify.tokens.output | {token} | 出力(完了)トークン数 |
tenant_id, app_id, operation_type, model_provider, model_name, node_type (node_execution の場合)
警告: ワークフローレベルのdify.tokens.totalには、すべてのnode_executionトークンが含まれています。二重計上を避けるため、operation_typeでフィルタリングしてください。
トークン階層とクエリパターン
トークンメトリックは複数のレイヤーで送信されます。階層構造を理解することで、二重計上を防ぐことができます:workflow トークンには、すでにすべての node_execution トークンが含まれています。決して両方を合計しないでください。
- トークンメトリックで使用可能なラベル:
tenant_id,app_id,operation_type,model_provider,model_name,node_type。 - アプリ名 はスパン属性(
dify.app.name)でのみ利用可能で、メトリックラベルにはありません。メトリッククエリにはapp_idを使用してください。
app_id を検索する (Trace クエリ — Tempo / Jaeger):
リクエストカウンター (Request Counters)
| メトリック (Metric) | 単位 | 説明 |
|---|---|---|
dify.requests.total | {request} | 総操作回数 |
| タイプ (Type) | 追加ラベル |
|---|---|
workflow | tenant_id, app_id, status, invoke_from |
node | tenant_id, app_id, node_type, model_provider, model_name, status |
draft_node | tenant_id, app_id, node_type, model_provider, model_name, status |
message | tenant_id, app_id, model_provider, model_name, status, invoke_from |
tool | tenant_id, app_id, tool_name |
moderation | tenant_id, app_id |
suggested_question | tenant_id, app_id, model_provider, model_name |
dataset_retrieval | tenant_id, app_id |
generate_name | tenant_id, app_id |
prompt_generation | tenant_id, app_id, operation_type, model_provider, model_name, status |
エラーカウンター (Error Counters)
| メトリック (Metric) | 単位 | 説明 |
|---|---|---|
dify.errors.total | {error} | 総失敗操作数 |
| タイプ (Type) | 追加ラベル |
|---|---|
workflow | tenant_id, app_id |
node | tenant_id, app_id, node_type, model_provider, model_name |
draft_node | tenant_id, app_id, node_type, model_provider, model_name |
message | tenant_id, app_id, model_provider, model_name |
tool | tenant_id, app_id, tool_name |
prompt_generation | tenant_id, app_id, operation_type, model_provider, model_name |
その他のカウンター (Other Counters)
| メトリック (Metric) | 単位 | ラベル |
|---|---|---|
dify.feedback.total | {feedback} | tenant_id, app_id, rating |
dify.dataset.retrievals.total | {retrieval} | tenant_id, app_id, dataset_id, embedding_model_provider, embedding_model, rerank_model_provider, rerank_model |
dify.app.created.total | {app} | tenant_id, app_id, mode |
dify.app.updated.total | {app} | tenant_id, app_id |
dify.app.deleted.total | {app} | tenant_id, app_id |
ヒストグラム (Histograms)
| メトリック (Metric) | 単位 | ラベル |
|---|---|---|
dify.workflow.duration | s | tenant_id, app_id, status |
dify.node.duration | s | tenant_id, app_id, node_type, model_provider, model_name, plugin_name |
dify.message.duration | s | tenant_id, app_id, model_provider, model_name |
dify.message.time_to_first_token | s | tenant_id, app_id, model_provider, model_name |
dify.tool.duration | s | tenant_id, app_id, tool_name |
dify.prompt_generation.duration | s | tenant_id, app_id, operation_type, model_provider, model_name |
構造化ログ (Structured Logs)
スパンコンパニオンログ (Span Companion Logs)
スパンに付随するログ。シグナルタイプ:span_detail。
dify.workflow.run コンパニオンログ
共通属性: すべてのスパン属性(トレースセクション参照)に加えて: イベント属性:dify.event.name:dify.workflow.rundify.event.signal:span_detailtrace_id,span_id,tenant_id,user_id
| 追加属性 | タイプ | 常に存在 | 説明 |
|---|---|---|---|
dify.app.name | string | いいえ | アプリケーション表示名 |
dify.workspace.name | string | いいえ | ワークスペース表示名 |
dify.workflow.version | string | はい | ワークフロー定義バージョン |
dify.workflow.inputs | string/JSON | はい | 入力パラメータ(コンテンツゲート制御) |
dify.workflow.outputs | string/JSON | はい | 出力結果(コンテンツゲート制御) |
dify.workflow.query | string | いいえ | ユーザークエリテキスト(コンテンツゲート制御) |
dify.node.execution および dify.node.execution.draft コンパニオンログ
共通属性: すべてのスパン属性(トレースセクション参照)に加えて: イベント属性:dify.event.name:dify.node.executionまたはdify.node.execution.draftdify.event.signal:span_detailtrace_id,span_id,tenant_id,user_id
| 追加属性 | タイプ | 常に存在 | 説明 |
|---|---|---|---|
dify.app.name | string | いいえ | アプリケーション表示名 |
dify.workspace.name | string | いいえ | ワークスペース表示名 |
dify.invoke_from | string | いいえ | 呼び出し元 |
gen_ai.tool.name | string | いいえ | ツール名(ツールノードのみ) |
dify.node.total_price | float | いいえ | コスト(LLMノードのみ) |
dify.node.currency | string | いいえ | 通貨コード(LLMノードのみ) |
dify.node.iteration_index | int | いいえ | イテレーションインデックス(イテレーションノード) |
dify.node.loop_index | int | いいえ | ループインデックス(ループノード) |
dify.plugin.name | string | いいえ | プラグイン名(ツール/ナレッジノード) |
dify.credential.name | string | いいえ | クレデンシャル名(プラグインノード) |
dify.credential.id | string | いいえ | クレデンシャルID(プラグインノード) |
dify.dataset.ids | JSON array | いいえ | データセットID(ナレッジノード) |
dify.dataset.names | JSON array | いいえ | データセット名(ナレッジノード) |
dify.node.inputs | string/JSON | はい | ノード入力(コンテンツゲート制御) |
dify.node.outputs | string/JSON | はい | ノード出力(コンテンツゲート制御) |
dify.node.process_data | string/JSON | いいえ | 処理データ(コンテンツゲート制御) |
スタンドアロンログ (Standalone Logs)
構造化スパンを持たないログ。シグナルタイプ:metric_only。
dify.message.run
| 属性 | タイプ | 説明 |
|---|---|---|
dify.event.name | string | dify.message.run |
dify.event.signal | string | metric_only |
trace_id | string | OTELトレースID(32文字16進数) |
span_id | string | OTELスパンID(16文字16進数) |
tenant_id | string | テナント識別子 |
user_id | string | ユーザー識別子(オプション) |
dify.app_id | string | アプリケーション識別子 |
dify.message.id | string | メッセージ識別子 |
dify.conversation.id | string | 会話ID(オプション) |
dify.workflow.run_id | string | ワークフロー実行ID(オプション) |
dify.invoke_from | string | service-api, web-app, debugger, explore |
gen_ai.provider.name | string | LLMプロバイダー |
gen_ai.request.model | string | LLMモデル |
gen_ai.usage.input_tokens | int | 入力トークン数 |
gen_ai.usage.output_tokens | int | 出力トークン数 |
gen_ai.usage.total_tokens | int | 総トークン数 |
dify.message.status | string | succeeded(成功)、failed(失敗) |
dify.message.error | string | エラーメッセージ(失敗時) |
dify.message.duration | float | 所要時間(秒) |
dify.message.time_to_first_token | float | TTFT(秒) |
dify.message.inputs | string/JSON | 入力(コンテンツゲート制御) |
dify.message.outputs | string/JSON | 出力(コンテンツゲート制御) |
dify.tool.execution
| 属性 | タイプ | 説明 |
|---|---|---|
dify.event.name | string | dify.tool.execution |
dify.event.signal | string | metric_only |
trace_id | string | OTELトレースID |
span_id | string | OTELスパンID |
tenant_id | string | テナント識別子 |
dify.app_id | string | アプリケーション識別子 |
dify.message.id | string | メッセージ識別子 |
dify.tool.name | string | ツール名 |
dify.tool.duration | float | 所要時間(秒) |
dify.tool.status | string | succeeded(成功)、failed(失敗) |
dify.tool.error | string | エラーメッセージ(失敗時) |
dify.tool.inputs | string/JSON | 入力(コンテンツゲート制御) |
dify.tool.outputs | string/JSON | 出力(コンテンツゲート制御) |
dify.tool.parameters | string/JSON | パラメータ(コンテンツゲート制御) |
dify.tool.config | string/JSON | 設定(コンテンツゲート制御) |
dify.moderation.check
| 属性 | タイプ | 説明 |
|---|---|---|
dify.event.name | string | dify.moderation.check |
dify.event.signal | string | metric_only |
trace_id | string | OTELトレースID |
span_id | string | OTELスパンID |
tenant_id | string | テナント識別子 |
dify.app_id | string | アプリケーション識別子 |
dify.message.id | string | メッセージ識別子 |
dify.moderation.type | string | input(入力)、output(出力) |
dify.moderation.action | string | pass(通過)、block(ブロック)、flag(フラグ) |
dify.moderation.flagged | boolean | フラグが立てられたかどうか |
dify.moderation.categories | JSON array | フラグが立てられたカテゴリ |
dify.moderation.query | string | コンテンツ(コンテンツゲート制御) |
dify.suggested_question.generation
| 属性 | タイプ | 説明 |
|---|---|---|
dify.event.name | string | dify.suggested_question.generation |
dify.event.signal | string | metric_only |
trace_id | string | OTELトレースID |
span_id | string | OTELスパンID |
tenant_id | string | テナント識別子 |
dify.app_id | string | アプリケーション識別子 |
dify.message.id | string | メッセージ識別子 |
dify.suggested_question.count | int | 質問数 |
dify.suggested_question.duration | float | 所要時間(秒) |
dify.suggested_question.status | string | succeeded(成功)、failed(失敗) |
dify.suggested_question.error | string | エラーメッセージ(失敗時) |
dify.suggested_question.questions | JSON array | 質問(コンテンツゲート制御) |
dify.dataset.retrieval
| 属性 | タイプ | 説明 |
|---|---|---|
dify.event.name | string | dify.dataset.retrieval |
dify.event.signal | string | metric_only |
trace_id | string | OTELトレースID |
span_id | string | OTELスパンID |
tenant_id | string | テナント識別子 |
dify.app_id | string | アプリケーション識別子 |
dify.message.id | string | メッセージ識別子 |
dify.dataset.id | string | データセット識別子 |
dify.dataset.name | string | データセット名 |
dify.dataset.embedding_providers | JSON array | 埋め込みモデルプロバイダー(データセットごとに1つ) |
dify.dataset.embedding_models | JSON array | 埋め込みモデル(データセットごとに1つ) |
dify.retrieval.rerank_provider | string | リランクモデルプロバイダー |
dify.retrieval.rerank_model | string | リランクモデル名 |
dify.retrieval.query | string | 検索クエリ(コンテンツゲート制御) |
dify.retrieval.document_count | int | 取得されたドキュメント数 |
dify.retrieval.duration | float | 所要時間(秒) |
dify.retrieval.status | string | succeeded(成功)、failed(失敗) |
dify.retrieval.error | string | エラーメッセージ(失敗時) |
dify.dataset.documents | JSON array | ドキュメント(コンテンツゲート制御) |
dify.generate_name.execution
| 属性 | タイプ | 説明 |
|---|---|---|
dify.event.name | string | dify.generate_name.execution |
dify.event.signal | string | metric_only |
trace_id | string | OTELトレースID |
span_id | string | OTELスパンID |
tenant_id | string | テナント識別子 |
dify.app_id | string | アプリケーション識別子 |
dify.conversation.id | string | 会話識別子 |
dify.generate_name.duration | float | 所要時間(秒) |
dify.generate_name.status | string | succeeded(成功)、failed(失敗) |
dify.generate_name.error | string | エラーメッセージ(失敗時) |
dify.generate_name.inputs | string/JSON | 入力(コンテンツゲート制御) |
dify.generate_name.outputs | string | 生成された名前(コンテンツゲート制御) |
dify.prompt_generation.execution
| 属性 | タイプ | 説明 |
|---|---|---|
dify.event.name | string | dify.prompt_generation.execution |
dify.event.signal | string | metric_only |
trace_id | string | OTELトレースID |
span_id | string | OTELスパンID |
tenant_id | string | テナント識別子 |
dify.app_id | string | アプリケーション識別子 |
dify.prompt_generation.operation_type | string | 操作タイプ(付録参照) |
gen_ai.provider.name | string | LLMプロバイダー |
gen_ai.request.model | string | LLMモデル |
gen_ai.usage.input_tokens | int | 入力トークン数 |
gen_ai.usage.output_tokens | int | 出力トークン数 |
gen_ai.usage.total_tokens | int | 総トークン数 |
dify.prompt_generation.duration | float | 所要時間(秒) |
dify.prompt_generation.status | string | succeeded(成功)、failed(失敗) |
dify.prompt_generation.error | string | エラーメッセージ(失敗時) |
dify.prompt_generation.instruction | string | 指示(コンテンツゲート制御) |
dify.prompt_generation.output | string/JSON | 出力(コンテンツゲート制御) |
dify.app.created
| 属性 | タイプ | 説明 |
|---|---|---|
dify.event.name | string | dify.app.created |
dify.event.signal | string | metric_only |
tenant_id | string | テナント識別子 |
dify.app_id | string | アプリケーション識別子 |
dify.app.mode | string | chat, completion, agent-chat, workflow |
dify.app.created_at | string | タイムスタンプ (ISO 8601) |
dify.app.updated
| 属性 | タイプ | 説明 |
|---|---|---|
dify.event.name | string | dify.app.updated |
dify.event.signal | string | metric_only |
tenant_id | string | テナント識別子 |
dify.app_id | string | アプリケーション識別子 |
dify.app.updated_at | string | タイムスタンプ (ISO 8601) |
dify.app.deleted
| 属性 | タイプ | 説明 |
|---|---|---|
dify.event.name | string | dify.app.deleted |
dify.event.signal | string | metric_only |
tenant_id | string | テナント識別子 |
dify.app_id | string | アプリケーション識別子 |
dify.app.deleted_at | string | タイムスタンプ (ISO 8601) |
dify.feedback.created
| 属性 | タイプ | 説明 |
|---|---|---|
dify.event.name | string | dify.feedback.created |
dify.event.signal | string | metric_only |
trace_id | string | OTELトレースID |
span_id | string | OTELスパンID |
tenant_id | string | テナント識別子 |
dify.app_id | string | アプリケーション識別子 |
dify.message.id | string | メッセージ識別子 |
dify.feedback.rating | string | like(高評価)、dislike(低評価)、null |
dify.feedback.content | string | フィードバックテキスト(コンテンツゲート制御) |
dify.feedback.created_at | string | タイムスタンプ (ISO 8601) |
dify.telemetry.rehydration_failed
テレメトリシステムのヘルスモニタリング用の診断イベント。| 属性 | タイプ | 説明 |
|---|---|---|
dify.event.name | string | dify.telemetry.rehydration_failed |
dify.event.signal | string | metric_only |
tenant_id | string | テナント識別子 |
dify.telemetry.error | string | エラーメッセージ |
dify.telemetry.payload_type | string | ペイロードタイプ(付録参照) |
dify.telemetry.correlation_id | string | 相関ID |
コンテンツゲート属性 (Content-Gated Attributes)
ENTERPRISE_INCLUDE_CONTENT=false の場合、これらの属性は参照文字列(ref:{id_type}={uuid})に置き換えられます。
| 属性 | シグナル |
|---|---|
dify.workflow.inputs | dify.workflow.run |
dify.workflow.outputs | dify.workflow.run |
dify.workflow.query | dify.workflow.run |
dify.node.inputs | dify.node.execution |
dify.node.outputs | dify.node.execution |
dify.node.process_data | dify.node.execution |
dify.message.inputs | dify.message.run |
dify.message.outputs | dify.message.run |
dify.tool.inputs | dify.tool.execution |
dify.tool.outputs | dify.tool.execution |
dify.tool.parameters | dify.tool.execution |
dify.tool.config | dify.tool.execution |
dify.moderation.query | dify.moderation.check |
dify.suggested_question.questions | dify.suggested_question.generation |
dify.retrieval.query | dify.dataset.retrieval |
dify.dataset.documents | dify.dataset.retrieval |
dify.generate_name.inputs | dify.generate_name.execution |
dify.generate_name.outputs | dify.generate_name.execution |
dify.prompt_generation.instruction | dify.prompt_generation.execution |
dify.prompt_generation.output | dify.prompt_generation.execution |
dify.feedback.content | dify.feedback.created |
付録 (Appendix)
操作タイプ (Operation Types)
workflow, node_execution, message, rule_generate, code_generate, structured_output, instruction_modify
ノードタイプ (Node Types)
start, end, answer, llm, knowledge-retrieval, knowledge-index, if-else, code, template-transform, question-classifier, http-request, tool, datasource, variable-aggregator, loop, iteration, parameter-extractor, assigner, document-extractor, list-operator, agent, trigger-webhook, trigger-schedule, trigger-plugin, human-input
ワークフローステータス (Workflow Statuses)
running, succeeded, failed, stopped, partial-succeeded, paused
ペイロードタイプ (Payload Types)
workflow, node, message, tool, moderation, suggested_question, dataset_retrieval, generate_name, prompt_generation, app, feedback
Null値の動作 (Null Value Behavior)
- Spans: Null値を持つ属性は省略されます。
- Logs: Null値を持つ属性はJSON内で
nullとして表示されます。 - Content-Gated: nullに設定されるのではなく、参照文字列に置き換えられます。