98 lines
2.2 KiB
Python
98 lines
2.2 KiB
Python
"""Prometheus指标定义"""
|
|
from prometheus_client import Counter, Histogram, Gauge, Info
|
|
|
|
# API层指标
|
|
API_REQUESTS_TOTAL = Counter(
|
|
"geo_api_requests_total",
|
|
"Total API requests",
|
|
["method", "endpoint", "status"]
|
|
)
|
|
|
|
API_REQUEST_DURATION_SECONDS = Histogram(
|
|
"geo_api_request_duration_seconds",
|
|
"API request duration in seconds",
|
|
["method", "endpoint"],
|
|
buckets=(0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1.0, 2.5, 5.0, 10.0)
|
|
)
|
|
|
|
API_REQUESTS_IN_PROGRESS = Gauge(
|
|
"geo_api_requests_in_progress",
|
|
"Number of requests currently being processed",
|
|
["method", "endpoint"]
|
|
)
|
|
|
|
# Agent层指标
|
|
AGENT_EXECUTIONS_TOTAL = Counter(
|
|
"geo_agent_executions_total",
|
|
"Total agent executions",
|
|
["agent_name", "status"]
|
|
)
|
|
|
|
AGENT_EXECUTION_DURATION_SECONDS = Histogram(
|
|
"geo_agent_execution_duration_seconds",
|
|
"Agent execution duration in seconds",
|
|
["agent_name"],
|
|
buckets=(0.1, 0.5, 1.0, 5.0, 10.0, 30.0, 60.0, 120.0)
|
|
)
|
|
|
|
AGENT_RUNNING_TASKS = Gauge(
|
|
"geo_agent_running_tasks",
|
|
"Number of tasks currently running",
|
|
["agent_name"]
|
|
)
|
|
|
|
# LLM层指标
|
|
LLM_REQUESTS_TOTAL = Counter(
|
|
"geo_llm_requests_total",
|
|
"Total LLM requests",
|
|
["provider", "model", "status"]
|
|
)
|
|
|
|
LLM_REQUEST_DURATION_SECONDS = Histogram(
|
|
"geo_llm_request_duration_seconds",
|
|
"LLM request duration in seconds",
|
|
["provider", "model"],
|
|
buckets=(0.1, 0.5, 1.0, 2.0, 5.0, 10.0, 30.0, 60.0)
|
|
)
|
|
|
|
LLM_TOKENS_TOTAL = Counter(
|
|
"geo_llm_tokens_total",
|
|
"Total LLM tokens used",
|
|
["provider", "model", "token_type"]
|
|
)
|
|
|
|
LLM_COST_ESTIMATED = Gauge(
|
|
"geo_llm_cost_estimated",
|
|
"Estimated LLM cost in USD",
|
|
["provider", "model"]
|
|
)
|
|
|
|
# 业务层指标
|
|
BRAND_COUNT = Gauge(
|
|
"geo_brands_total",
|
|
"Total number of brands"
|
|
)
|
|
|
|
QUERY_COUNT_TOTAL = Counter(
|
|
"geo_queries_total",
|
|
"Total number of queries executed",
|
|
["platform", "status"]
|
|
)
|
|
|
|
CONTENT_GENERATED_TOTAL = Counter(
|
|
"geo_content_generated_total",
|
|
"Total content generated"
|
|
)
|
|
|
|
CITATION_DETECTED_TOTAL = Counter(
|
|
"geo_citations_detected_total",
|
|
"Total citations detected",
|
|
["platform"]
|
|
)
|
|
|
|
# 系统信息
|
|
SERVICE_INFO = Info(
|
|
"geo_service",
|
|
"GEO service information"
|
|
)
|