All Products
Search
Document Center

Application Real-Time Monitoring Service:Definisi Bidang Jejak LLM

Last Updated:Mar 20, 2026

Bidang LLM Trace didefinisikan oleh Alibaba Cloud berdasarkan standar OpenTelemetry dan konsep dari domain aplikasi large language model (LLM). Bidang-bidang ini memperluas Attributes, Resource, dan Event untuk menggambarkan semantik data jejak aplikasi LLM, mencakup operasi kunci seperti permintaan input dan output LLM serta konsumsi token. Data semantik yang kaya dan sadar konteks ini mendukung skenario seperti Completion, Chat, Retrieval-Augmented Generation (RAG), Agent, dan Tool Calling—memungkinkan pelacakan dan pelaporan data yang efektif.

Spesifikasi semantik ini terus berkembang seiring komunitas. Jika aplikasi Anda adalah aplikasi Python, Anda harus mengumpulkan data observabel secara manual. Anda dapat menggunakan komponen loongsuite-util-genai untuk membantu integrasi pengumpulan data. Untuk detailnya, lihat README.

Definisi bidang tingkat rentang mengikuti standar terbuka OpenTelemetry. Untuk deskripsi rinci bidang jejak tingkat atas yang disimpan di Managed Service for OpenTelemetry Alibaba Cloud, lihat Definisi Parameter Analisis Jejak.

Catatan

SpanKind khusus LLM merupakan sebuah Attribute—bukan Span kind yang didefinisikan dalam spesifikasi OpenTelemetry Trace. Spesifikasi semantik ini memperluas OpenTelemetry GenAI Semantic Conventions. Spesifikasi tersebut masih dalam pengembangan aktif dan dapat berubah pada rilis maintenance mendatang.

Bagian Umum

Attributes

AttributeKey

Description

Type

Example Value

Requirement Level

gen_ai.session.id

Session ID

string

ddde34343-f93a-4477-33333-sdfsdaf

Required if available

gen_ai.user.id

End-user identifier

string

u-lK8JddD

Required if available

gen_ai.span.kind

Operation type [1]

string

See LLM Span Kind

Required

gen_ai.operation.name

Secondary operation type [2]

string

See LLM Operation Name

Required

gen_ai.framework

Framework type used

string

langchain;llama_index

Required if available

[1] gen_ai.span.kind: Dipetakan ke gen_ai.operation.name sebagai berikut:

gen_ai.span.kind

gen_ai.operation.name

Description

RETRIEVER

retrieval

Document retrieval

LLM

chat;generate_content;text_completion

Model invocation

EMBEDDING

embeddings

Embedding

TOOL

execute_tool

Tool calling

AGENT

create_agent;invoke_agent

Agent invocation

RERANKER

-

Reranking invocation

CHAIN

-

Chain (invocation unit)

TASK

-

Task invocation

ENTRY

-

Entry invocation marker

STEP

-

ReAct round marker

[2] gen_ai.operation.name: Secondary operation type. Gunakan salah satu enumerasi berikut atau tentukan nilai kustom:

Value

Description

chat

Chat completion operation

create_agent

Create GenAI agent operation

embeddings

Word embedding operation

execute_tool

Tool calling operation

generate_content

Multimodal content generation operation

invoke_agent

Invoke GenAI agent operation

retrieval

Document retrieval operation

text_completion

Text completion operation

Resources

ResourceKey

Description

Type

Example Value

Requirement Level

service.name

Application name

string

test-easy-rag

Required

acs.cms.workspace

Cloud Monitor workspace

string

arms-test

Required if available

acs.arms.service.id

Cloud Monitor service ID

string

ggxw4lnjuz@b63ba5a1d60b517ae374f

Required if available

ali.trace.source

Application source

string

mse-gateway;alb

Required if available

acs.arms.service.feature

Application feature

string

genai_app

Required

Catatan

acs.arms.service.feature = genai_app. Nilai ini secara otomatis mengidentifikasi dan memberi tag aplikasi sebagai aplikasi AI. Wajib digunakan untuk skenario LLM atau Agent.

Chain

Chain adalah alat yang menghubungkan LLM dan komponen lainnya untuk menjalankan tugas kompleks, seperti Retrieval, Embedding, pemanggilan LLM, dan Chain bersarang.

Beri nama rentang chain {chain_name}. Jika chain_name tidak dapat diperoleh, beri nama chain.

Catatan

Komunitas OpenTelemetry belum mendefinisikan konvensi semantik untuk jenis rentang ini. Saat ini, rentang Chain hanya berlaku untuk framework LangChain.

Attributes

AttributeKey

Description

Type

Example

Requirement Level

gen_ai.span.kind

Operation type [1]

string

CHAIN

Required

gen_ai.operation.name

Secondary operation type

string

workflow; task

Required if available

input.value

Input content

string

Who Are You!

Recommended

output.value

Response content

string

I am ChatBot

Recommended

gen_ai.user.time_to_first_token

Time to First Byte [2]

integer

1000000

Recommended

[1] gen_ai.span.kind: Enumerasi khusus untuk spanKind LLM. Dalam Chain, nilai ini harus CHAIN.

[2] gen_ai.user.time_to_first_token: Waktu dari penerimaan permintaan pengguna oleh server hingga paket respons pertama dikembalikan. Satuan: nanodetik.

Retriever

Retriever mengakses penyimpanan vektor atau database untuk mengambil data. Biasanya digunakan untuk melengkapi konteks guna meningkatkan akurasi dan efisiensi respons LLM.

Atur gen_ai.operation.name menjadi retrieval. Ketika gen_ai.operation.name adalah retrieval, inferensi gen_ai.span.kind sebagai RETRIEVER.

Beri nama rentang {gen_ai.operation.name} {gen_ai.data_source.id}. Format penamaan lain dapat diterima dalam kasus khusus.

Attributes

AttributeKey

Description

Type

Example

Requirement Level

gen_ai.span.kind

Operation type [1]

string

RETRIEVER

Required

gen_ai.operation.name

Secondary operation type [2]

string

retrieval

Required

gen_ai.data_source.id

Data source unique identifier [3]

string

H7STPQYOND

Required if available

gen_ai.provider.name

Large language model provider

string

openai

Required if available

gen_ai.request.model

Model name specified in the request

string

gpt-4

Required if available

gen_ai.request.top_k

Top-K value specified in the request

float

1.0

Recommended

gen_ai.retrieval.documents

Retrieved document list [4]

string

[{"id": "doc_123","score": 0.95},{"id": "doc_456","score": 0.87},{"id": "doc_789","score": 0.82}]

Optional

gen_ai.retrieval.query.text

Query text snippet

string

what is the topic in xxx?

Optional

[1] gen_ai.span.kind: Enumerasi khusus untuk spanKind LLM. Dalam Retriever, nilai ini harus RETRIEVER.

[2] gen_ai.operation.name: Secondary operation type.

[3] gen_ai.data_source.id: ID unik sumber data. Ini adalah sumber data tempat Agen AI atau aplikasi RAG bergantung. Dapat berupa database eksternal, Object Storage Service, kumpulan dokumen, website, atau sistem penyimpanan lainnya.

[4] gen_ai.retrieval.documents: Mencatat daftar dokumen yang diambil. Setiap objek dokumen harus berisi setidaknya properti-properti berikut: id (string): Identifier unik dokumen. score (bilangan titik mengambang presisi ganda): Skor relevansi.

Reranker

Reranker menilai relevansi beberapa dokumen input berdasarkan kueri, mengurutkannya, dan mungkin mengembalikan dokumen top-K sebagai input ke LLM.

Beri nama rentang rerank {reranker.model_name}. Jika reranker.model_name tidak dapat diambil, beri nama rerank.

Catatan

Komunitas OpenTelemetry belum mendefinisikan konvensi semantik untuk jenis rentang ini.

Attributes

AttributeKey

Description

Type

Example

Requirement Level

gen_ai.span.kind

Operation type [1]

string

RERANKER

Required

reranker.query

Reranker request parameter

string

How to format timestamp?

Optional

reranker.model_name

Model name used by the Reranker

string

cross-encoder/ms-marco-MiniLM-L-12-v2

Optional

reranker.top_k

Rank after reranking

integer

3

Optional

reranker.input_document

Output the document metadata[2]

string

See example

Required

reranker.output_document

Metadata for output documents [3]

string

See example

Required

[1] gen_ai.span.kind: Enumerasi khusus untuk spanKind LLM. Dalam Reranker, nilai ini harus RERANKER.

[2] reranker.output_document: Dokumen input untuk reranking. Struktur array JSON. Metadata berisi informasi dasar dokumen seperti path, filename, dan sumber.

[3] reranker.output_document: Dokumen output setelah reranking. Struktur array JSON. Metadata berisi informasi dasar dokumen seperti path, filename, dan sumber.

LLM

Rentang LLM merepresentasikan pemanggilan LLM atau proses inferensi. Contohnya termasuk penggunaan SDK atau OpenAPI untuk memanggil LLM berbeda guna melakukan inferensi atau generasi teks.

Atur gen_ai.operation.name menjadi salah satu dari chat, generate_content, atau text_completion. Ketika gen_ai.operation.name adalah chat, generate_content, atau text_completion, inferensi gen_ai.span.kind sebagai LLM.

Beri nama rentang {gen_ai.operation.name} {gen_ai.request.model}. Format penamaan lain dapat diterima dalam kasus khusus.

Attributes

AttributeKey

Description

Type

Example

Requirement Level

gen_ai.span.kind

Operation type [1]

string

LLM

Required

gen_ai.operation.name

Secondary operation type [2]

string

chat; generate_content; text_completion

Required

gen_ai.provider.name

Large language model provider

string

openai

Required

gen_ai.conversation.id

Unique conversation ID [3]

string

conv_5j66UpCpwteGg4YSxUnt7lPY

Required if available

gen_ai.output.type

Output type specified in the LLM request [4]

string

text;json;image;audio

Required if available

gen_ai.request.choice.count

Number of candidate generations requested in the LLM request

int

3

Required if not 1

gen_ai.request.model

Model name specified in the LLM request

string

gpt-4

Required

gen_ai.request.seed

Seed specified in the LLM request

string

gpt-4

Required if available

gen_ai.request.frequency_penalty

Frequency penalty set in the LLM request

float

0.1

Recommended

gen_ai.request.max_tokens

Maximum token count specified in the LLM request

integer

100

Recommended

gen_ai.request.presence_penalty

Presence penalty set in the LLM request

float

0.1

Recommended

gen_ai.request.temperature

Temperature specified in the LLM request

float

0.1

Recommended

gen_ai.request.top_p

Top-P value specified in the LLM request

float

1.0

Recommended

gen_ai.request.top_k

Top-K value specified in the LLM request

float

1.0

Recommended

gen_ai.request.stop_sequences

Stop sequences for the LLM

string[]

["stop"]

Recommended

gen_ai.response.id

Unique ID generated by the LLM

string

gpt-4-0613

Recommended

gen_ai.response.model

Model name used for LLM generation

string

gpt-4-0613

Recommended

gen_ai.response.finish_reasons

Reason the LLM stopped generating

string[]

["stop"]

Recommended

gen_ai.response.time_to_first_token

First-token latency for the LLM in streaming-response scenarios [5]

integer

1000000

Recommended

gen_ai.response.reasoning_time

Inference time for reasoning models [6]

integer

1248

Recommended

gen_ai.usage.input_tokens

Number of input tokens used

integer

100

Recommended

gen_ai.usage.output_tokens

Number of output tokens used

integer

200

Recommended

gen_ai.usage.total_tokens

Total number of tokens used

integer

300

Recommended

gen_ai.usage.cache_creation.input_tokens

Number of tokens written to the model provider's cache [7]

integer

25

Recommended

gen_ai.usage.cache_read.input_tokens

Number of tokens read from the model provider's cache [8]

integer

50

Recommended

gen_ai.input.messages

Model input content [9]

string

[{"role": "user", "parts": [{"type": "text", "content": "Weather in Paris?"}]}, {"role": "assistant", "parts": [{"type": "tool_call", "id": "call_VSPygqKTWdrhaFErNvMV18Yl", "name":"get_weather", "arguments":{"location":"Paris"}}]}, {"role": "tool", "parts": [{"type": "tool_call_response", "id":" call_VSPygqKTWdrhaFErNvMV18Yl", "result":"rainy, 57°F"}]}]

Optional

gen_ai.output.messages

Model output content [10]

string

[{"role":"assistant","parts":[{"type":"text","content":"The weather in Paris is currently rainy with a temperature of 57°F."}],"finish_reason":"stop"}]

Optional

gen_ai.system_instructions

System prompt content [11]

string

[{"type": "text", "content": "You are a helpful assistant"}]

Optional

gen_ai.tool.definitions

Tool definition list [12]

string

[{"type":"function","name":"get_current_weather","description": "Get the current weather in a given location","parameters":{"type":"object","properties":{"location":{"type":"string","description":"The city and state, e.g. San Francisco, CA"},"unit": {"type":"string","enum":["celsius","fahrenheit"]}},"required":["location","unit"]}}]

Optional

gen_ai.latency.time_in_model_prefill

LLM prefill latency. Unit: nanoseconds

integer

1000

Recommended

gen_ai.latency.time_in_model_decode

LLM decode latency. Unit: nanoseconds

integer

1000

Recommended

gen_ai.latency.time_in_model_inference

LLM inference time. Equals the sum of prefill and decode time. Unit: nanoseconds

integer

1000

Recommended

gen_ai.input.multimodal_metadata

Multi-modal data involved in the LLM input content [13]

string[]

[{"type":"uri","mime_type":"image/jpeg","uri":"sls://project/logstore/date/object","modality":"image"}]

Recommended

gen_ai.output.multimodal_metadata

Multi-modal data involved in the LLM output content [14]

string[]

[{"type":"uri","mime_type":"image/jpeg","uri":"sls://project/logstore/date/object","modality":"image"}]

Recommended

[1] gen_ai.span.kind: Enumerasi khusus untuk spanKind LLM. Dalam rentang LLM, nilai ini harus LLM.

[2] gen_ai.operation.name: Secondary operation type.

[3] gen_ai.conversation.id: Unique conversation ID. Kumpulkan jika Anda dapat dengan mudah memperolehnya.

[4] gen_ai.output.type: Kumpulkan jika permintaan menentukan jenis output (misalnya format output). Nilai harus salah satu enumerasi berikut atau nilai kustom:

Value

Description

image

Image

json

Well-formatted JSON object

speech

Voice

text

Plain text

[5] gen_ai.user.time_to_first_token: Waktu dari penerimaan permintaan pengguna oleh server hingga paket respons pertama dikembalikan. Satuan: nanodetik.

[6] gen_ai.response.reasoning_time: Durasi proses penalaran. Satuan: milidetik.

[7] gen_ai.usage.cache_creation.input_tokens: Nilai ini sudah termasuk dalam gen_ai.usage.input_tokens.

[8] gen_ai.usage.cache_read.input_tokens: Nilai ini sudah termasuk dalam gen_ai.usage.input_tokens.

[9] gen_ai.input.messages: Mencatat konten input untuk pemanggilan LLM. Pesan harus disediakan sesuai urutan yang dikirim ke model atau agen. Ikuti gen_ai.input.messages.json.

Kumpulkan hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

[10] gen_ai.output.messages: Mencatat konten output model. Pesan harus disediakan sesuai urutan yang dikirim ke model atau agen. Ikuti gen_ai.output.messages.json.

Kumpulkan hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

[11] gen_ai.system_instructions: Mencatat konten prompt atau instruksi sistem secara terpisah. Gunakan bidang ini jika Anda dapat memperoleh konten prompt atau instruksi sistem secara independen. Jika tidak, catat dalam atribut gen_ai.input.messages. Ikuti gen_ai.system_instructions.json.

Kumpulkan hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

[12] gen_ai.tool.definitions: Mencatat definisi tool yang diberikan ke LLM. Atribut ini bisa sangat besar. Secara default, kumpulkan hanya field type dan name. Kumpulkan semua field lain hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

[13] gen_ai.input.multimodal_metadata: Mengumpulkan data multi-modal yang dirujuk dalam konten input model. Hanya mencakup pesan UriPart. Ikuti gen_ai.input.messages.json.

Kumpulkan hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

[14] gen_ai.output.multimodal_metadata: Mengumpulkan data multi-modal yang dirujuk dalam konten output model. Hanya mencakup pesan UriPart. Ikuti gen_ai.output.messages.json.

Kumpulkan hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

Record Prompts, Inputs, and Outputs

Anda dapat mengabaikan pencatatan input pengguna dan respons model, mencatatnya dalam atribut rentang, atau mencatatnya sebagai event (log). Untuk detailnya, lihat Control LLM Application Conversation History Collection Behavior.

Embedding

Embedding merepresentasikan satu proses, seperti penyematan teks dengan Large Language Model (LLM). Anda kemudian dapat menggunakan kueri kemiripan untuk mengoptimalkan solusi terhadap permasalahan.

Atur gen_ai.operation.name menjadi embeddings. Ketika gen_ai.operation.name adalah embeddings, inferensi gen_ai.span.kind sebagai EMBEDDING.

Beri nama rentang {gen_ai.operation.name} {gen_ai.request.model}. Format penamaan lain dapat diterima dalam kasus khusus.

Attributes

AttributeKey

Description

Type

Example

Requirement Level

gen_ai.span.kind

Operation type [1]

string

EMBEDDING

Required

gen_ai.operation.name

Secondary operation type [2]

string

embeddings

Required

gen_ai.provider.name

Large language model provider

string

openai

Required

gen_ai.request.model

Model name specified in the request

string

gpt-4

Required if available

gen_ai.embeddings.dimension.count

Number of dimensions expected for the embedding operation

integer

1024

Recommended

gen_ai.request.encoding_formats

Encoding formats requested for the embedding operation

string[]

["base64"]; ["float", "binary"]

Recommended

gen_ai.usage.input_tokens

Token count consumed by the input text

integer

10

Optional

gen_ai.usage.total_tokens

Total token count consumed by the embedding

integer

10

Optional

[1] gen_ai.span.kind: Enumerasi khusus untuk spanKind LLM. Dalam rentang Embedding, nilai ini harus EMBEDDING.

[2] gen_ai.operation.name: Secondary operation type.

Tool

Rentang Tool merepresentasikan pemanggilan ke tool eksternal. Contohnya termasuk memanggil kalkulator atau meminta informasi cuaca terbaru dari API cuaca.

Atur gen_ai.operation.name menjadi execute_tool. Ketika gen_ai.operation.name adalah execute_tool, inferensi gen_ai.span.kind sebagai TOOL.

Beri nama rentang {gen_ai.operation.name} {gen_ai.tool.name}. Format penamaan lain dapat diterima dalam kasus khusus.

Attributes

AttributeKey

Description

Type

Example

Requirement Level

gen_ai.span.kind

Operation type [1]

string

TOOL

Required

gen_ai.operation.name

Secondary operation type [2]

string

execute_tool

Required

gen_ai.tool.call.id

Tool ID

string

call_mszuSIzqtI65i1wAUOE8w5H4

Recommended

gen_ai.tool.description

Tool description

string

Multiply two numbers

Recommended

gen_ai.tool.name

Tool name

string

Recommended

gen_ai.tool.type

Tool type

string

function;extension;datastore

Recommended

gen_ai.tool.call.arguments

Tool call input parameters [2]

string

{"location": "San Francisco?","date": "2025-10-01"}

Optional

gen_ai.tool.call.result

Tool call return value [3]

string

{"temperature_range": {"high": 75,"low": 60},"conditions": "sunny"}

Optional

[1] gen_ai.span.kind: Enumerasi khusus untuk spanKind LLM. Dalam rentang Tool, nilai ini harus TOOL.

[2] gen_ai.tool.call.arguments: Parameter input pemanggilan tool, dalam bentuk string JSON. Kumpulkan hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

[3] gen_ai.tool.call.result: Nilai kembali pemanggilan tool, dalam bentuk string JSON. Kumpulkan hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

Agent

Rentang Agent merepresentasikan skenario agen cerdas—Chain yang lebih kompleks. Agen menggunakan hasil inferensi LLM untuk menentukan langkah selanjutnya. Hal ini mungkin melibatkan beberapa pemanggilan LLM dan Tool, berlangsung langkah demi langkah hingga mencapai jawaban akhir.

Atur gen_ai.operation.name menjadi invoke_agent atau create_agent. Ketika gen_ai.operation.name adalah invoke_agent atau create_agent, inferensi gen_ai.span.kind sebagai AGENT.

Beri nama rentang {gen_ai.operation.name} {gen_ai.agent.name}. Format penamaan lain dapat diterima dalam kasus khusus.

Attributes

AttributeKey

Description

Type

Example

Requirement Level

gen_ai.span.kind

Operation type [1]

string

AGENT

Required

gen_ai.operation.name

Secondary operation type [2]

string

invoke_agent; create_agent

Required

gen_ai.conversation.id

Unique conversation ID [3]

string

conv_5j66UpCpwteGg4YSxUnt7lPY

Required if available

gen_ai.agent.description

Agent description

string

Helps with math problems; Generates fiction stories

Required if available

gen_ai.agent.id

Unique agent identifier

string

asst_5j66UpCpwteGg4YSxUnt7lPY

Required if available

gen_ai.agent.name

Agent name

string

Math Tutor; Fiction Writer

Required if available

gen_ai.data_source.id

Data source unique identifier [4]

string

H7STPQYOND

Required if available

gen_ai.usage.input_tokens

Number of input tokens used

integer

100

Recommended

gen_ai.usage.output_tokens

Number of output tokens used

integer

200

Recommended

gen_ai.usage.total_tokens

Total number of tokens used

integer

300

Recommended

gen_ai.usage.cache_creation.input_tokens

Number of tokens written to the model provider's cache [5]

integer

25

Recommended

gen_ai.usage.cache_read.input_tokens

Number of tokens read from the model provider's cache [6]

integer

50

Recommended

gen_ai.input.messages

Model input content [7]

string

[{"role": "user", "parts": [{"type": "text", "content": "Weather in Paris?"}]}, {"role": "assistant", "parts": [{"type": "tool_call", "id": "call_VSPygqKTWdrhaFErNvMV18Yl", "name":"get_weather", "arguments":{"location":"Paris"}}]}, {"role": "tool", "parts": [{"type": "tool_call_response", "id":" call_VSPygqKTWdrhaFErNvMV18Yl", "result":"rainy, 57°F"}]}]

Optional

gen_ai.output.messages

Model output content [8]

string

[{"role":"assistant","parts":[{"type":"text","content":"The weather in Paris is currently rainy with a temperature of 57°F."}],"finish_reason":"stop"}]

Optional

gen_ai.system_instructions

System prompt content [9]

string

[{"type": "text", "content": "You are a helpful assistant"}]

Optional

gen_ai.tool.definitions

Tool definition list [10]

string

[{"type":"function","name":"get_current_weather","description": "Get the current weather in a given location","parameters":{"type":"object","properties":{"location":{"type":"string","description":"The city and state, e.g. San Francisco, CA"},"unit": {"type":"string","enum":["celsius","fahrenheit"]}},"required":["location","unit"]}}]

Optional

gen_ai.response.time_to_first_token

Agent's first-token response latency

integer

1000000

Recommended

[1] gen_ai.span.kind: Enumerasi khusus untuk spanKind LLM. Dalam rentang Agent, nilai ini harus AGENT.

[2] gen_ai.operation.name: Secondary operation type.

[3] gen_ai.conversation.id: Unique conversation ID. Kumpulkan jika Anda dapat dengan mudah memperolehnya.

[4] gen_ai.data_source.id: ID unik sumber data. Ini adalah sumber data tempat Agen AI atau aplikasi RAG bergantung. Dapat berupa database eksternal, Object Storage Service, kumpulan dokumen, website, atau sistem penyimpanan lainnya.

[5] gen_ai.usage.cache_creation.input_tokens: Nilai ini sudah termasuk dalam gen_ai.usage.input_tokens.

[6] gen_ai.usage.cache_read.input_tokens: Nilai ini sudah termasuk dalam gen_ai.usage.input_tokens.

[7] gen_ai.input.messages: Mencatat konten input untuk pemanggilan LLM. Pesan harus disediakan sesuai urutan yang dikirim ke model atau agen. Ikuti gen_ai.input.messages.json.

Kumpulkan hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

[8] gen_ai.output.messages: Mencatat konten output model. Pesan harus disediakan sesuai urutan yang dikirim ke model atau agen. Ikuti gen_ai.output.messages.json.

Kumpulkan hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

[9] gen_ai.system_instructions: Mencatat konten prompt atau instruksi sistem secara terpisah. Gunakan bidang ini jika Anda dapat memperoleh konten prompt atau instruksi sistem secara independen. Jika tidak, catat dalam atribut gen_ai.input.messages. Ikuti gen_ai.system_instructions.json.

Kumpulkan hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

[10] gen_ai.tool.definitions: Mencatat definisi tool yang diberikan ke LLM. Atribut ini bisa sangat besar. Secara default, kumpulkan hanya field type dan name. Kumpulkan semua field lain hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

Task

Rentang Task merepresentasikan pemanggilan metode internal kustom, seperti memanggil fungsi lokal atau logika lain yang ditentukan aplikasi.

Beri nama rentang run_task {gen_ai.task.name}. Format penamaan lain dapat diterima dalam kasus khusus.

Catatan

Komunitas OpenTelemetry belum mendefinisikan konvensi semantik untuk jenis rentang ini. Oleh karena itu, gen_ai.operation.name dapat berubah.

Attributes

AttributeKey

Description

Type

Example

Requirement Level

gen_ai.span.kind

Operation type [1]

string

TASK

Required

gen_ai.operation.name

Secondary operation type

string

run_task

Required

input.value

Input parameters

string

Input parameters, custom JSON format

Optional

input.mime_type

Input MIME type

string

text/plain; application/json

Optional

output.mime_type

Output MIME type

string

text/plain; application/json

Optional

[1] gen_ai.span.kind: Enumerasi khusus untuk spanKind LLM. Dalam rentang Task, nilai ini harus TASK.

Entry

Rentang Entry menandai titik masuk untuk pemanggilan ke sistem aplikasi AI.

Beri nama rentang enter_ai_application_system. Format penamaan lain dapat diterima dalam kasus khusus.

Catatan

Komunitas OpenTelemetry belum mendefinisikan konvensi semantik untuk jenis rentang ini. Oleh karena itu, gen_ai.operation.name dapat berubah.

Attributes

AttributeKey

Description

Type

Example

Requirement Level

gen_ai.span.kind

Operation type [1]

string

ENTRY

Required

gen_ai.operation.name

Secondary operation type

string

enter

Recommended

gen_ai.session.id

Session ID

string

ddde34343-f93a-4477-33333-sdfsdaf

Required if available

gen_ai.user.id

End-user identifier

string

u-lK8JddD

Required if available

gen_ai.input.messages

Model input content [2]

string

[{"role": "user", "parts": [{"type": "text", "content": "Weather in Paris?"}]}, {"role": "assistant", "parts": [{"type": "tool_call", "id": "call_VSPygqKTWdrhaFErNvMV18Yl", "name":"get_weather", "arguments":{"location":"Paris"}}]}, {"role": "tool", "parts": [{"type": "tool_call_response", "id":" call_VSPygqKTWdrhaFErNvMV18Yl", "result":"rainy, 57°F"}]}]

Optional

gen_ai.output.messages

Model output content [3]

string

[{"role":"assistant","parts":[{"type":"text","content":"The weather in Paris is currently rainy with a temperature of 57°F."}],"finish_reason":"stop"}]

Optional

gen_ai.response.time_to_first_token

First-token response latency in streaming-response scenarios [4]

integer

1000000

Recommended

[1] gen_ai.span.kind: Enumerasi khusus untuk spanKind LLM. Dalam rentang Entry, nilai ini harus ENTRY.

[2] gen_ai.input.messages: Mencatat konten input untuk pemanggilan LLM. Pesan harus disediakan sesuai urutan yang dikirim ke model atau agen. Ikuti gen_ai.input.messages.json.

Kumpulkan hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

[3] gen_ai.output.messages: Mencatat konten output model. Pesan harus disediakan sesuai urutan yang dikirim ke model atau agen. Ikuti gen_ai.output.messages.json.

Kumpulkan hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

[4] gen_ai.response.time_to_first_token: Waktu dari penerimaan permintaan pengguna oleh server hingga paket respons pertama dikembalikan. Satuan: nanodetik.

ReAct Step

Rentang Step menandai proses iterasi Reasoning-Acting dalam suatu Agent.

Beri nama rentang react step. Format penamaan lain dapat diterima dalam kasus khusus.

Catatan

Komunitas OpenTelemetry belum mendefinisikan konvensi semantik untuk jenis rentang ini. Oleh karena itu, gen_ai.operation.name dapat berubah.

Attributes

AttributeKey

Description

Type

Example

Requirement Level

gen_ai.span.kind

Operation type [1]

string

STEP

Required

gen_ai.operation.name

Secondary operation type

string

react

Recommended

gen_ai.react.finish_reason

Reason for this ReAct round's termination

string

error

Recommended

gen_ai.react.round

Round number for this ReAct iteration [2]

integer

1

Recommended

[1] gen_ai.span.kind: Enumerasi khusus untuk spanKind LLM. Dalam rentang ReAct Step, nilai ini harus STEP.

[2] gen_ai.react.round: Nomor putaran ReAct harus dimulai dari 1 dan bertambah 1 untuk setiap iterasi.