OpenTelemetry를 통한 관찰 가능성
Gemini CLI에서 OpenTelemetry를 활성화하고 설정하는 방법을 알아보세요.
주요 이점
- 🔍 사용량 분석: 팀 전체의 상호 작용 패턴 및 기능 채택 이해
- ⚡ 성능 모니터링: 응답 시간, 토큰 소비 및 리소스 활용률 추적
- 🐛 실시간 디버깅: 병목 현상, 실패 및 오류 패턴 발생 즉시 식별
- 📊 워크플로 최적화: 구성 및 프로세스 개선을 위한 정보에 입각한 의사 결정
- 🏢 엔터프라이즈 거버넌스: 팀 간 사용량 모니터링, 비용 추적, 규정 준수 보장 및 기존 모니터링 인프라와의 통합
OpenTelemetry 통합
공급업체 중립적인 산업 표준 관찰 가능성 프레임워크인 **OpenTelemetry (opens in a new tab)**를 기반으로 구축된 Gemini CLI의 관찰 가능성 시스템은 다음을 제공합니다:
- 범용 호환성: 모든 OpenTelemetry 백엔드(Google Cloud, Jaeger, Prometheus, Datadog 등)로 내보내기
- 표준화된 데이터: 툴체인 전반에서 일관된 형식 및 수집 방법 사용
- 미래 지향적 통합: 기존 및 미래의 관찰 가능성 인프라와 연결
- 공급업체 종속성 없음: 계측을 변경하지 않고 백엔드 간 전환
구성
모든 텔레메트리 동작은 .gemini/settings.json 파일을 통해 제어됩니다. 환경 변수를 사용하여
파일의 설정을 재정의할 수 있습니다.
| 설정 | 환경 변수 | 설명 | 값 | 기본값 |
|---|---|---|---|---|
enabled | GEMINI_TELEMETRY_ENABLED | 텔레메트리 활성화 또는 비활성화 | true/false | false |
target | GEMINI_TELEMETRY_TARGET | 텔레메트리 데이터를 보낼 위치 | "gcp"/"local" | "local" |
otlpEndpoint | GEMINI_TELEMETRY_OTLP_ENDPOINT | OTLP 수집기 엔드포인트 | URL 문자열 | http://localhost:4317 |
otlpProtocol | GEMINI_TELEMETRY_OTLP_PROTOCOL | OTLP 전송 프로토콜 | "grpc"/"http" | "grpc" |
outfile | GEMINI_TELEMETRY_OUTFILE | 파일에 텔레메트리 저장 (otlpEndpoint 재정의) | 파일 경로 | - |
logPrompts | GEMINI_TELEMETRY_LOG_PROMPTS | 텔레메트리 로그에 프롬프트 포함 | true/false | true |
useCollector | GEMINI_TELEMETRY_USE_COLLECTOR | 외부 OTLP 수집기 사용 (고급) | true/false | false |
useCliAuth | GEMINI_TELEMETRY_USE_CLI_AUTH | 텔레메트리에 CLI 자격 증명 사용 (GCP 대상 전용) | true/false | false |
부울 환경 변수에 대한 참고 사항: 부울 설정(enabled, logPrompts,
useCollector)의 경우 해당 환경 변수를 true 또는 1로 설정하면 기능이 활성화됩니다.
그 외의 값은 기능을 비활성화합니다.
모든 구성 옵션에 대한 자세한 정보는 구성 가이드를 참조하세요.
Google Cloud 텔레메트리
전제 조건
아래 방법 중 하나를 사용하기 전에 다음 단계를 완료하세요:
-
Google Cloud 프로젝트 ID 설정:
- 추론과 별도의 프로젝트에서 텔레메트리를 사용하는 경우:
export OTLP_GOOGLE_CLOUD_PROJECT="your-telemetry-project-id" - 추론과 동일한 프로젝트에서 텔레메트리를 사용하는 경우:
export GOOGLE_CLOUD_PROJECT="your-project-id"
- 추론과 별도의 프로젝트에서 텔레메트리를 사용하는 경우:
-
Google Cloud 인증:
- 사용자 계정을 사용하는 경우:
gcloud auth application-default login - 서비스 계정을 사용하는 경우:
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your/service-account.json"
- 사용자 계정을 사용하는 경우:
-
계정 또는 서비스 계정에 다음 IAM 역할이 있는지 확인하세요:
- Cloud Trace Agent (Cloud Trace 에이전트)
- Monitoring Metric Writer (모니터링 메트릭 작성자)
- Logs Writer (로그 작성자)
-
필요한 Google Cloud API 활성화 (아직 활성화되지 않은 경우):
gcloud services enable \ cloudtrace.googleapis.com \ monitoring.googleapis.com \ logging.googleapis.com \ --project="$OTLP_GOOGLE_CLOUD_PROJECT"
CLI 자격 증명으로 인증하기
기본적으로 Google Cloud용 텔레메트리 수집기는 ADC(애플리케이션 기본 자격 증명)를 사용합니다. 그러나 Gemini CLI에 로그인할 때 사용하는 것과 동일한 OAuth 자격 증명을 사용하도록 구성할 수 있습니다. 이는 ADC가 설정되지 않은 환경에서 유용합니다.
이를 활성화하려면 telemetry 설정에서 useCliAuth 속성을 true로 설정하세요:
{
"telemetry": {
"enabled": true,
"target": "gcp",
"useCliAuth": true
}
}중요:
- 이 설정은 직접 내보내기 (in-process exporters)를 사용해야 합니다.
useCollector: true와 함께 사용할 수 없습니다. 둘 다 활성화하면 텔레메트리가 비활성화되고 오류가 기록됩니다.- CLI는 자동으로 자격 증명을 사용하여 Google Cloud Trace, Metrics 및 Logging API에 인증합니다.
직접 내보내기 (권장)
텔레메트리를 Google Cloud 서비스로 직접 보냅니다. 수집기가 필요하지 않습니다.
.gemini/settings.json에서 텔레메트리 활성화:{ "telemetry": { "enabled": true, "target": "gcp" } }- Gemini CLI를 실행하고 프롬프트를 보냅니다.
- 로그 및 메트릭 보기:
- 프롬프트를 보낸 후 브라우저에서 Google Cloud Console을 엽니다:
수집기 기반 내보내기 (고급)
사용자 지정 처리, 필터링 또는 라우팅을 위해 OpenTelemetry 수집기를 사용하여 데이터를 Google Cloud로 전달합니다.
.gemini/settings.json구성:{ "telemetry": { "enabled": true, "target": "gcp", "useCollector": true } }- 자동화 스크립트 실행:
이 작업은 다음을 수행합니다:
npm run telemetry -- --target=gcp- Google Cloud로 전달하는 로컬 OTEL 수집기 시작
- 작업 공간 구성
- Google Cloud Console에서 추적, 메트릭 및 로그를 볼 수 있는 링크 제공
- 수집기 로그를
~/.gemini/tmp/<projectHash>/otel/collector-gcp.log에 저장 - 종료 시 수집기 중지 (예:
Ctrl+C)
- Gemini CLI를 실행하고 프롬프트를 보냅니다.
- 로그 및 메트릭 보기:
- 프롬프트를 보낸 후 브라우저에서 Google Cloud Console을 엽니다:
~/.gemini/tmp/<projectHash>/otel/collector-gcp.log를 열어 로컬 수집기 로그 확인.
모니터링 대시보드
Gemini CLI는 텔레메트리를 시각화하기 위해 미리 구성된 Google Cloud Monitoring (opens in a new tab) 대시보드를 제공합니다.
이 대시보드는 Google Cloud Monitoring 대시보드 템플릿에서 "Gemini CLI Monitoring"으로 찾을 수 있습니다.



자세한 내용은 블로그 게시물을 확인하세요: 즉각적인 통찰력: Gemini CLI의 새로운 사전 구성된 모니터링 대시보드 (opens in a new tab).
로컬 텔레메트리
로컬 개발 및 디버깅을 위해 로컬에서 텔레메트리 데이터를 캡처할 수 있습니다:
파일 기반 출력 (권장)
.gemini/settings.json에서 텔레메트리 활성화:{ "telemetry": { "enabled": true, "target": "local", "otlpEndpoint": "", "outfile": ".gemini/telemetry.log" } }- Gemini CLI를 실행하고 프롬프트를 보냅니다.
- 지정된 파일(예:
.gemini/telemetry.log)에서 로그 및 메트릭을 확인합니다.
수집기 기반 내보내기 (고급)
- 자동화 스크립트 실행:
이 작업은 다음을 수행합니다:
npm run telemetry -- --target=local- Jaeger 및 OTEL 수집기 다운로드 및 시작
- 로컬 텔레메트리를 위한 작업 공간 구성
- http://localhost:16686 (opens in a new tab) 에서 Jaeger UI 제공
- 로그/메트릭을
~/.gemini/tmp/<projectHash>/otel/collector.log에 저장 - 종료 시 수집기 중지 (예:
Ctrl+C)
- Gemini CLI를 실행하고 프롬프트를 보냅니다.
- http://localhost:16686 (opens in a new tab) 에서 추적을 확인하고 수집기 로그 파일에서 로그/메트릭을 확인합니다.
로그 및 메트릭
다음 섹션에서는 Gemini CLI에 대해 생성된 로그 및 메트릭의 구조를 설명합니다.
session.id, installation.id, 및 user.email(Google 계정으로 인증된 경우에만
사용 가능)은 모든 로그 및 메트릭에 공통 속성으로 포함됩니다.
로그
로그는 특정 이벤트의 타임스탬프가 있는 기록입니다. Gemini CLI에 대해 다음 이벤트가 기록되며, 범주별로 그룹화됩니다.
세션
시작 구성 및 사용자 프롬프트 제출을 캡처합니다.
-
gemini_cli.config: CLI 구성과 함께 시작 시 한 번 방출됩니다.- 속성:
model(string)embedding_model(string)sandbox_enabled(boolean)core_tools_enabled(string)approval_mode(string)api_key_enabled(boolean)vertex_ai_enabled(boolean)log_user_prompts_enabled(boolean)file_filtering_respect_git_ignore(boolean)debug_mode(boolean)mcp_servers(string)mcp_servers_count(int)extensions(string)extension_ids(string)extension_count(int)mcp_tools(string, 해당되는 경우)mcp_tools_count(int, 해당되는 경우)output_format("text", "json", 또는 "stream-json")
- 속성:
-
gemini_cli.user_prompt: 사용자가 프롬프트를 제출할 때 방출됩니다.- 속성:
prompt_length(int)prompt_id(string)prompt(string;telemetry.logPrompts가false인 경우 제외됨)auth_type(string)
- 속성:
승인 모드
승인 모드의 변경 및 기간을 추적합니다.
수명 주기
-
approval_mode_switch: 승인 모드가 변경되었습니다.- 속성:
from_mode(string)to_mode(string)
- 속성:
-
approval_mode_duration: 승인 모드에서 보낸 시간입니다.- 속성:
mode(string)duration_ms(int)
- 속성:
실행
이 이벤트는 계획 모드와 같은 승인 모드의 실행을 추적합니다.
plan_execution: 계획이 실행되었고 세션이 계획 모드에서 활성 실행으로 전환되었습니다.- 속성:
approval_mode(string)
- 속성:
도구
도구 실행, 출력 잘림 및 편집 동작을 캡처합니다.
-
gemini_cli.tool_call: 각 도구(함수) 호출에 대해 방출됩니다.- 속성:
function_namefunction_argsduration_mssuccess(boolean)decision("accept", "reject", "auto_accept", 또는 "modify", 해당되는 경우)error(해당되는 경우)error_type(해당되는 경우)prompt_id(string)tool_type("native" 또는 "mcp")mcp_server_name(string, 해당되는 경우)extension_name(string, 해당되는 경우)extension_id(string, 해당되는 경우)content_length(int, 해당되는 경우)metadata(해당되는 경우)
- 속성:
-
gemini_cli.tool_output_truncated: 도구 호출의 출력이 잘렸습니다.- 속성:
tool_name(string)original_content_length(int)truncated_content_length(int)threshold(int)lines(int)prompt_id(string)
- 속성:
-
gemini_cli.edit_strategy: 선택된 편집 전략입니다.- 속성:
strategy(string)
- 속성:
-
gemini_cli.edit_correction: 편집 수정 결과입니다.- 속성:
correction("success" | "failure")
- 속성:
-
gen_ai.client.inference.operation.details: 이 이벤트는 OpenTelemetry GenAI 이벤트 의미 규칙 (opens in a new tab)에 맞춰 GenAI 작업에 대한 자세한 정보를 제공합니다.- 속성:
gen_ai.request.model(string)gen_ai.provider.name(string)gen_ai.operation.name(string)gen_ai.input.messages(json string)gen_ai.output.messages(json string)gen_ai.response.finish_reasons(array of strings)gen_ai.usage.input_tokens(int)gen_ai.usage.output_tokens(int)gen_ai.request.temperature(float)gen_ai.request.top_p(float)gen_ai.request.top_k(int)gen_ai.request.max_tokens(int)gen_ai.system_instructions(json string)server.address(string)server.port(int)
- 속성:
파일
도구가 수행한 파일 작업을 추적합니다.
gemini_cli.file_operation: 각 파일 작업에 대해 방출됩니다.- 속성:
tool_name(string)operation("create" | "read" | "update")lines(int, optional)mimetype(string, optional)extension(string, optional)programming_language(string, optional)
- 속성:
API
Gemini API 요청, 응답 및 오류를 캡처합니다.
-
gemini_cli.api_request: Gemini API로 전송된 요청입니다.- 속성:
model(string)prompt_id(string)request_text(string, optional)
- 속성:
-
gemini_cli.api_response: Gemini API로부터 받은 응답입니다.- 속성:
model(string)status_code(int|string)duration_ms(int)input_token_count(int)output_token_count(int)cached_content_token_count(int)thoughts_token_count(int)tool_token_count(int)total_token_count(int)response_text(string, optional)prompt_id(string)auth_type(string)finish_reasons(array of strings)
- 속성:
-
gemini_cli.api_error: API 요청이 실패했습니다.- 속성:
model(string)error(string)error_type(string)status_code(int|string)duration_ms(int)prompt_id(string)auth_type(string)
- 속성:
-
gemini_cli.malformed_json_response:generateJson응답을 파싱할 수 없습니다.- 속성:
model(string)
- 속성:
모델 라우팅
-
gemini_cli.slash_command: 슬래시 명령이 실행되었습니다.- 속성:
command(string)subcommand(string, optional)status("success" | "error")
- 속성:
-
gemini_cli.slash_command.model: 슬래시 명령을 통해 모델이 선택되었습니다.- 속성:
model_name(string)
- 속성:
-
gemini_cli.model_routing: 모델 라우터가 결정을 내렸습니다.- 속성:
decision_model(string)decision_source(string)routing_latency_ms(int)reasoning(string, optional)failed(boolean)error_message(string, optional)
- 속성:
채팅 및 스트리밍
-
gemini_cli.chat_compression: 채팅 컨텍스트가 압축되었습니다.- 속성:
tokens_before(int)tokens_after(int)
- 속성:
-
gemini_cli.chat.invalid_chunk: 스트림에서 잘못된 청크를 받았습니다.- 속성:
error.message(string, optional)
- 속성:
-
gemini_cli.chat.content_retry: 콘텐츠 오류로 인해 재시도가 트리거되었습니다.- 속성:
attempt_number(int)error_type(string)retry_delay_ms(int)model(string)
- 속성:
-
gemini_cli.chat.content_retry_failure: 모든 콘텐츠 재시도가 실패했습니다.- 속성:
total_attempts(int)final_error_type(string)total_duration_ms(int, optional)model(string)
- 속성:
-
gemini_cli.conversation_finished: 대화 세션이 종료되었습니다.- 속성:
approvalMode(string)turnCount(int)
- 속성:
-
gemini_cli.next_speaker_check: 다음 화자 결정.- 속성:
prompt_id(string)finish_reason(string)result(string)
- 속성:
복원력
모델 및 네트워크 작업에 대한 대체 메커니즘을 기록합니다.
-
gemini_cli.flash_fallback: 대체 방편으로 flash 모델로 전환했습니다.- 속성:
auth_type(string)
- 속성:
-
gemini_cli.ripgrep_fallback: 파일 검색을 위한 대체 방편으로 grep으로 전환했습니다.- 속성:
error(string, optional)
- 속성:
-
gemini_cli.web_fetch_fallback_attempt: 웹 가져오기(web-fetch) 대체 방편을 시도했습니다.- 속성:
reason("private_ip" | "primary_failed")
- 속성:
확장
확장 수명 주기 및 설정 변경을 추적합니다.
-
gemini_cli.extension_install: 확장이 설치되었습니다.- 속성:
extension_name(string)extension_version(string)extension_source(string)status(string)
- 속성:
-
gemini_cli.extension_uninstall: 확장이 제거되었습니다.- 속성:
extension_name(string)status(string)
- 속성:
-
gemini_cli.extension_enable: 확장이 활성화되었습니다.- 속성:
extension_name(string)setting_scope(string)
- 속성:
-
gemini_cli.extension_disable: 확장이 비활성화되었습니다.- 속성:
extension_name(string)setting_scope(string)
- 속성:
-
gemini_cli.extension_update: 확장이 업데이트되었습니다.- 속성:
extension_name(string)extension_version(string)extension_previous_version(string)extension_source(string)status(string)
- 속성:
에이전트 실행
-
gemini_cli.agent.start: 에이전트 실행이 시작되었습니다.- 속성:
agent_id(string)agent_name(string)
- 속성:
-
gemini_cli.agent.finish: 에이전트 실행이 완료되었습니다.- 속성:
agent_id(string)agent_name(string)duration_ms(int)turn_count(int)terminate_reason(string)
- 속성:
IDE
IDE 컴패니언 연결 및 대화 수명 주기 이벤트를 캡처합니다.
gemini_cli.ide_connection: IDE 컴패니언 연결.- 속성:
connection_type(string)
- 속성:
UI
터미널 렌더링 문제 및 관련 신호를 추적합니다.
kitty_sequence_overflow: 터미널 kitty 제어 시퀀스 오버플로.- 속성:
sequence_length(int)truncated_sequence(string)
- 속성:
메트릭
메트릭은 시간에 따른 동작의 수치 측정값입니다.
사용자 지정
세션
시작 시 CLI 세션을 계산합니다.
gemini_cli.session.count(Counter, Int): CLI 시작 당 한 번씩 증가합니다.
도구
도구 사용량 및 지연 시간을 측정합니다.
-
gemini_cli.tool.call.count(Counter, Int): 도구 호출을 계산합니다.- 속성:
function_namesuccess(boolean)decision(string: "accept", "reject", "modify", 또는 "auto_accept", 해당되는 경우)tool_type(string: "mcp" 또는 "native", 해당되는 경우)
- 속성:
-
gemini_cli.tool.call.latency(Histogram, ms): 도구 호출 지연 시간을 측정합니다.- 속성:
function_name
- 속성:
API
API 요청 양과 지연 시간을 추적합니다.
-
gemini_cli.api.request.count(Counter, Int): 모든 API 요청을 계산합니다.- 속성:
modelstatus_codeerror_type(해당되는 경우)
- 속성:
-
gemini_cli.api.request.latency(Histogram, ms): API 요청 지연 시간을 측정합니다.- 속성:
model
- 참고:
gen_ai.client.operation.duration(GenAI 규칙)과 겹칩니다.
- 속성:
토큰 사용량
모델 및 유형별로 사용된 토큰을 추적합니다.
gemini_cli.token.usage(Counter, Int): 사용된 토큰을 계산합니다.- 속성:
modeltype("input", "output", "thought", "cache", 또는 "tool")
- 참고:
input/output에 대해gen_ai.client.token.usage와 겹칩니다.
- 속성:
파일
기본 컨텍스트와 함께 파일 작업을 계산합니다.
-
gemini_cli.file.operation.count(Counter, Int): 파일 작업을 계산합니다.- 속성:
operation("create", "read", "update")lines(Int, optional)mimetype(string, optional)extension(string, optional)programming_language(string, optional)
- 속성:
-
gemini_cli.lines.changed(Counter, Int): 변경된 줄 수(파일 diff에서).- 속성:
function_nametype("added" 또는 "removed")
- 속성:
채팅 및 스트리밍
압축, 잘못된 청크 및 재시도에 대한 복원력 카운터입니다.
-
gemini_cli.chat_compression(Counter, Int): 채팅 압축 작업을 계산합니다.- 속성:
tokens_before(Int)tokens_after(Int)
- 속성:
-
gemini_cli.chat.invalid_chunk.count(Counter, Int): 스트림에서 잘못된 청크를 계산합니다. -
gemini_cli.chat.content_retry.count(Counter, Int): 콘텐츠 오류로 인한 재시도를 계산합니다. -
gemini_cli.chat.content_retry_failure.count(Counter, Int): 모든 콘텐츠 재시도가 실패한 요청을 계산합니다.
모델 라우팅
라우팅 지연 시간/실패 및 슬래시 명령 선택입니다.
-
gemini_cli.slash_command.model.call_count(Counter, Int): 슬래시 명령을 통한 모델 선택을 계산합니다.- 속성:
slash_command.model.model_name(string)
- 속성:
-
gemini_cli.model_routing.latency(Histogram, ms): 모델 라우팅 결정 지연 시간입니다.- 속성:
routing.decision_model(string)routing.decision_source(string)
- 속성:
-
gemini_cli.model_routing.failure.count(Counter, Int): 모델 라우팅 실패를 계산합니다.- 속성:
routing.decision_source(string)routing.error_message(string)
- 속성:
에이전트 실행
에이전트 수명 주기 메트릭: 실행, 기간 및 턴.
-
gemini_cli.agent.run.count(Counter, Int): 에이전트 실행을 계산합니다.- 속성:
agent_name(string)terminate_reason(string)
- 속성:
-
gemini_cli.agent.duration(Histogram, ms): 에이전트 실행 기간입니다.- 속성:
agent_name(string)
- 속성:
-
gemini_cli.agent.turns(Histogram, turns): 에이전트 실행 당 턴 수입니다.- 속성:
agent_name(string)
- 속성:
승인 모드
실행
이 메트릭은 계획 모드와 같은 특정 승인 워크플로의 채택 및 사용을 추적합니다.
gemini_cli.plan.execution.count(Counter, Int): 계획 실행을 계산합니다.- 속성:
approval_mode(string)
- 속성:
UI
깜박임 횟수와 같은 UI 안정성 신호입니다.
gemini_cli.ui.flicker.count(Counter, Int): 깜박이는(터미널보다 높게 렌더링된) UI 프레임을 계산합니다.
성능
시작, CPU/메모리 및 단계 타이밍에 대한 선택적 성능 모니터링입니다.
-
gemini_cli.startup.duration(Histogram, ms): 단계별 CLI 시작 시간입니다.- 속성:
phase(string)details(map, optional)
- 속성:
-
gemini_cli.memory.usage(Histogram, bytes): 메모리 사용량입니다.- 속성:
memory_type("heap_used", "heap_total", "external", "rss")component(string, optional)
- 속성:
-
gemini_cli.cpu.usage(Histogram, percent): CPU 사용량 백분율입니다.- 속성:
component(string, optional)
- 속성:
-
gemini_cli.tool.queue.depth(Histogram, count): 실행 대기열에 있는 도구 수. -
gemini_cli.tool.execution.breakdown(Histogram, ms): 단계별 도구 시간입니다.- 속성:
function_name(string)phase("validation", "preparation", "execution", "result_processing")
- 속성:
-
gemini_cli.api.request.breakdown(Histogram, ms): 단계별 API 요청 시간입니다.- 속성:
model(string)phase("request_preparation", "network_latency", "response_processing", "token_processing")
- 속성:
-
gemini_cli.token.efficiency(Histogram, ratio): 토큰 효율성 메트릭입니다.- 속성:
model(string)metric(string)context(string, optional)
- 속성:
-
gemini_cli.performance.score(Histogram, score): 종합 성능 점수입니다.- 속성:
category(string)baseline(number, optional)
- 속성:
-
gemini_cli.performance.regression(Counter, Int): 퇴행 감지 이벤트입니다.- 속성:
metric(string)severity("low", "medium", "high")current_value(number)baseline_value(number)
- 속성:
-
gemini_cli.performance.regression.percentage_change(Histogram, percent): 퇴행이 감지되었을 때 기준선 대비 변화율입니다.- 속성:
metric(string)severity("low", "medium", "high")current_value(number)baseline_value(number)
- 속성:
-
gemini_cli.performance.baseline.comparison(Histogram, percent): 기준선과의 비교입니다.- 속성:
metric(string)category(string)current_value(number)baseline_value(number)
- 속성:
GenAI 의미 규칙
다음 메트릭은 GenAI 애플리케이션 전반의 표준화된 관찰 가능성을 위해 OpenTelemetry GenAI 의미 규칙 (opens in a new tab)을 준수합니다:
-
gen_ai.client.token.usage(Histogram, token): 작업 당 사용된 입력 및 출력 토큰 수입니다.- 속성:
gen_ai.operation.name(string): 작업 유형 (예: "generate_content", "chat")gen_ai.provider.name(string): GenAI 공급자 ("gcp.gen_ai" 또는 "gcp.vertex_ai")gen_ai.token.type(string): 토큰 유형 ("input" 또는 "output")gen_ai.request.model(string, optional): 요청에 사용된 모델 이름gen_ai.response.model(string, optional): 응답을 생성한 모델 이름server.address(string, optional): GenAI 서버 주소server.port(int, optional): GenAI 서버 포트
- 속성:
-
gen_ai.client.operation.duration(Histogram, s): 초 단위의 GenAI 작업 기간입니다.- 속성:
gen_ai.operation.name(string): 작업 유형 (예: "generate_content", "chat")gen_ai.provider.name(string): GenAI 공급자 ("gcp.gen_ai" 또는 "gcp.vertex_ai")gen_ai.request.model(string, optional): 요청에 사용된 모델 이름gen_ai.response.model(string, optional): 응답을 생성한 모델 이름server.address(string, optional): GenAI 서버 주소server.port(int, optional): GenAI 서버 포트error.type(string, optional): 작업이 실패한 경우 오류 유형
- 속성: