LiteLLM integration metrics

The official Datadog integration for monitoring LiteLLM. It collects 152 metrics.

Official summary

This integration allows for real-time collection of LiteLLM metrics for enhanced observability and monitoring.

Metric types

  • count (occurrences in the interval): 114
  • gauge (value at a point in time): 38

Metrics

Descriptions are the official definitions, unedited.

MetricTypeUnit
litellm.active_usersNumber of billable users in LiteLLM (excludes SCIM-deactivated users)gaugeuser
litellm.api.key.budget.remaining_hours.metricRemaining hours for api key budget to be resetgaugehour
litellm.api.key.max_budget.metricMaximum budget set for api keygauge-
litellm.auth.failed_requests.countNumber of failed requests for auth service in the time periodcounterror
litellm.auth.latency.bucketNumber of observations that fall into each upper_bound latency bucket for auth servicecount-
litellm.auth.latency.countNumber of latency observations for auth service in the time periodcount-
litellm.auth.latency.sumLatency for auth servicecountmillisecond
litellm.auth.total_requests.countNumber of requests for auth service in the time periodcountrequest
litellm.batch_write_to_db.failed_requests.countNumber of failed requests for batch_write_to_db service in the time periodcounterror
litellm.batch_write_to_db.latency.bucketNumber of observations that fall into each upper_bound latency bucket for batch_write_to_db servicecount-
litellm.batch_write_to_db.latency.countNumber of latency observations for batch_write_to_db service in the time periodcount-
litellm.batch_write_to_db.latency.sumLatency for batch_write_to_db servicecountmillisecond
litellm.batch_write_to_db.total_requests.countNumber of requests for batch_write_to_db service in the time periodcountrequest
litellm.cache.hits.metric.countTotal number of LiteLLM cache hitscount-
litellm.cache.misses.metric.countTotal number of LiteLLM cache missescount-
litellm.cached_tokens.metric.countTotal tokens served from LiteLLM cachecounttoken
litellm.callback.logging_failures.metric.countTotal number of failures when emitting logs to callbacks (e.g. s3_v2, langfuse, etc)count-
litellm.check_batch_cost.errors.countTotal number of errors in CheckBatchCost by error typecount-
litellm.check_batch_cost.jobs_polledNumber of unprocessed batches found by the last CheckBatchCost pollgauge-
litellm.check_batch_cost.jobs_processed.countTotal number of batches successfully cost-tracked by CheckBatchCostcount-
litellm.check_batch_cost.last_run_timestampUnix timestamp of the last CheckBatchCost job rungaugesecond
litellm.deployment.cooled_down.countNumber of times a deployment has been cooled down by LiteLLM load balancing logic in the time period. exception_status is the status of the exception that caused the deployment to be cooled downcountevent
litellm.deployment.failed_fallbacks.countNumber of failed fallback requests from primary model -> fallback model in the time periodcounterror
litellm.deployment.failure_by_tag_responses.countNumber of failed LLM API calls for a specific LLM deployment by custom metadata tags in the time periodcounterror
litellm.deployment.failure_responses.countNumber of failed LLM API calls for a specific LLM deployment in the time period. exception_status is the status of the exception from the LLM APIcounterror
litellm.deployment.latency_per_output_token.bucketNumber of observations that fall into each upper_bound latency per output token bucket for deploymentcount-
litellm.deployment.latency_per_output_token.countNumber of latency per output token observations for deployment in the time periodcount-
litellm.deployment.latency_per_output_token.sumLatency per output tokencountmillisecond
litellm.deployment.rpm_limitDeployment RPM limit found in configgauge-
litellm.deployment.stateThe state of the deployment: 0 = healthy,1 = partial outage,2 = complete outagegaugeunit
litellm.deployment.success_responses.countNumber of successful LLM API calls via litellm in the time periodcountresponse
litellm.deployment.successful_fallbacks.countNumber of successful fallback requests from primary model -> fallback model in the time periodcountresponse
litellm.deployment.total_requests.countNumber of LLM API calls via litellm in the time period - success + failurecountrequest
litellm.deployment.tpm_limitDeployment TPM limit found in configgauge-
litellm.guardrail.errors.countTotal number of errors encountered during guardrail executioncount-
litellm.guardrail.latency_seconds.bucketNumber of observations that fall into each upper_bound bucket for latency (seconds) for guardrail executioncount-
litellm.guardrail.latency_seconds.countNumber of observations for latency (seconds) for guardrail execution in the time periodcount-
litellm.guardrail.latency_seconds.sumLatency (seconds) for guardrail executioncountsecond
litellm.guardrail.requests.countTotal number of guardrail invocationscount-
litellm.images_generated.metric.countNumber of images generated, from the image generation responsecount-
litellm.in_flight_requestsNumber of HTTP requests currently in-flight on this uvicorn workergauge-
litellm.in_memory.daily_spend_update_queue.sizeGauge for in_memory_daily_spend_update_queue servicegaugeitem
litellm.in_memory.spend_update_queue.sizeGauge for in_memory_spend_update_queue servicegaugeitem
litellm.input.tokens.countNumber of input tokens from LLM requests in the time periodcounttoken
litellm.input_audio_tokens.metric.countAudio input tokens reported in prompt_tokens_details.audio_tokenscounttoken
litellm.input_cache_creation_tokens.metric.countProvider-side input tokens written to prompt cache (e.g. Anthropic cache_creation_input_tokens)counttoken
litellm.input_cached_tokens.metric.countProvider-side cached input tokens (e.g. OpenAI prompt_tokens_details.cached_tokens, Anthropic cache_read_input_tokens)counttoken
litellm.input_tokens.metric.countTotal number of input tokens from LLM requestscounttoken
litellm.llm.api.failed_requests.metric.countDeprecated - use litellm.proxy.failed_requests.metric. Number of failed responses from proxy in the time period - the client did not get a success response from litellm proxycounterror
litellm.llm.api.latency.metric.bucketNumber of observations that fall into each upper_bound latency bucket (seconds) for a model's LLM API callcount-
litellm.llm.api.latency.metric.countNumber of latency observations (seconds) for a model's LLM API call in the time periodcount-
litellm.llm.api.latency.metric.sumTotal latency (seconds) for a model's LLM API callcountsecond
litellm.llm.api.time_to_first_token.metric.bucketNumber of observations that fall into each upper_bound time to first token bucket for a model's LLM API callcount-
litellm.llm.api.time_to_first_token.metric.countNumber of time to first token observations for a model's LLM API call in the time periodcount-
litellm.llm.api.time_to_first_token.metric.sumTime to first token for a model's LLM API callcountsecond
litellm.managed.batch_created.countTotal number of managed batches createdcount-
litellm.managed.batch_duration_seconds.bucketNumber of observations that fall into each upper_bound bucket for duration of completed managed batches in seconds (completed_at - created_at)count-
litellm.managed.batch_duration_seconds.countNumber of observations for duration of completed managed batches in seconds (completed_at - created_at) in the time periodcount-
litellm.managed.batch_duration_seconds.sumDuration of completed managed batches in seconds (completed_at - created_at)countsecond
litellm.managed.file_created.countTotal number of managed files createdcount-
litellm.managed.file_deleted.countTotal number of managed file deletions (success or blocked)count-
litellm.managed.file_size_bytesSize of the most recent managed batch file in bytes (last-seen value per label combination)gaugebyte
litellm.mcp.tool_call_spend.metric.countTotal spend on MCP tool calls, segmented by tool and server namecount-
litellm.mcp.tool_calls.countTotal MCP tool calls, segmented by tool and server namecount-
litellm.org.budget.remaining_hours.metricRemaining hours for org budget to be resetgaugehour
litellm.org.max_budget.metricMaximum budget set for orggauge-
litellm.output.tokens.countNumber of output tokens from LLM requests in the time periodcounttoken
litellm.output_audio_tokens.metric.countAudio output tokens reported in completion_tokens_details.audio_tokenscounttoken
litellm.output_reasoning_tokens.metric.countReasoning tokens reported in completion_tokens_details.reasoning_tokenscounttoken
litellm.output_tokens.metric.countTotal number of output tokens from LLM requestscounttoken
litellm.overhead_latency.metric.bucketNumber of observations that fall into each upper_bound overhead latency bucket (milliseconds) added by LiteLLM processingcount-
litellm.overhead_latency.metric.countNumber of overhead latency observations (milliseconds) added by LiteLLM processing in the time periodcount-
litellm.overhead_latency.metric.sumLatency overhead (milliseconds) added by LiteLLM processingcountmillisecond
litellm.overhead_with_guardrails_latency.metric.bucketNumber of observations that fall into each upper_bound bucket for total internal latency (seconds) added by LiteLLM, including pre/post-call guardrails (excludes the LLM API call)count-
litellm.overhead_with_guardrails_latency.metric.countNumber of observations for total internal latency (seconds) added by LiteLLM, including pre/post-call guardrails (excludes the LLM API call) in the time periodcount-
litellm.overhead_with_guardrails_latency.metric.sumTotal internal latency (seconds) added by LiteLLM, including pre/post-call guardrails (excludes the LLM API call)countsecond
litellm.pod_lock_manager.sizeGauge for pod_lock_manager servicegaugeitem
litellm.postgres.failed_requests.countNumber of failed requests for Postgres service in the time periodcounterror
litellm.postgres.latency.bucketNumber of observations that fall into each upper_bound latency bucket for Postgres servicecount-
litellm.postgres.latency.countNumber of latency observations for Postgres service in the time periodcount-
litellm.postgres.latency.sumLatency for Postgres servicecountmillisecond
litellm.postgres.total_requests.countNumber of requests for Postgres service in the time periodcountrequest
litellm.process.uptime.secondsStart time of the process since unix epoch in seconds.gaugesecond
litellm.provider.remaining_budget.metricRemaining budget for provider - used when you set provider budget limitsgauge-
litellm.provider_cache.creation_input_tokens.metric.countTotal prompt/input tokens written to provider prompt cache (e.g. Anthropic/Bedrock)counttoken
litellm.provider_cache.read_input_tokens.metric.countTotal prompt/input tokens read from provider prompt cache (e.g. OpenAI/Anthropic/Gemini/Bedrock)counttoken
litellm.proxy.failed_requests.metric.countNumber of failed responses from proxy in the time period - the client did not get a success response from litellm proxycounterror
litellm.proxy.pre_call.failed_requests.countNumber of failed requests for proxy_pre_call service in the time periodcounterror
litellm.proxy.pre_call.latency.bucketNumber of observations that fall into each upper_bound latency bucket for proxy_pre_call servicecount-
litellm.proxy.pre_call.latency.countNumber of latency observations for proxy_pre_call service in the time periodcount-
litellm.proxy.pre_call.latency.sumLatency for proxy_pre_call servicecountmillisecond
litellm.proxy.pre_call.total_requests.countNumber of requests for proxy_pre_call service in the time periodcountrequest
litellm.proxy.total_requests.metric.countNumber of requests made to the proxy server in the time period - track number of client side requestscountrequest
litellm.redis.daily_agent_spend_update_queue.sizeNumber of pending daily agent spend updates in the Redis queue waiting to be written to the databasegaugeitem
litellm.redis.daily_end_user_spend_update_queue.sizeNumber of pending daily end user spend updates in the Redis queue waiting to be written to the databasegaugeitem
litellm.redis.daily_spend_update_queue.sizeGauge for redis_daily_spend_update_queue servicegaugeitem
litellm.redis.daily_tag_spend_update_queue.failed_requests.countNumber of failed requests for redis_daily_tag_spend_update_queue service in the time periodcounterror
litellm.redis.daily_tag_spend_update_queue.latency.bucketNumber of observations that fall into each upper_bound latency bucket for redis_daily_tag_spend_update_queue servicecount-
litellm.redis.daily_tag_spend_update_queue.latency.countNumber of latency observations for redis_daily_tag_spend_update_queue service in the time periodcount-
litellm.redis.daily_tag_spend_update_queue.latency.sumLatency for redis_daily_tag_spend_update_queue servicecountmillisecond
litellm.redis.daily_tag_spend_update_queue.total_requests.countNumber of requests for redis_daily_tag_spend_update_queue service in the time periodcountrequest
litellm.redis.daily_team_spend_update_queue.failed_requests.countNumber of failed requests for redis_daily_team_spend_update_queue service in the time periodcounterror
litellm.redis.daily_team_spend_update_queue.latency.bucketNumber of observations that fall into each upper_bound latency bucket for redis_daily_team_spend_update_queue servicecount-
litellm.redis.daily_team_spend_update_queue.latency.countNumber of latency observations for redis_daily_team_spend_update_queue service in the time periodcount-
litellm.redis.daily_team_spend_update_queue.latency.sumLatency for redis_daily_team_spend_update_queue servicecountmillisecond
litellm.redis.daily_team_spend_update_queue.total_requests.countNumber of requests for redis_daily_team_spend_update_queue service in the time periodcountrequest
litellm.redis.failed_requests.countNumber of failed requests for Redis service in the time periodcounterror
litellm.redis.latency.bucketNumber of observations that fall into each upper_bound latency bucket for Redis servicecount-
litellm.redis.latency.countNumber of latency observations for Redis service in the time periodcount-
litellm.redis.latency.sumTotal latency (milliseconds) for Redis servicecountmillisecond
litellm.redis.spend_update_queue.sizeGauge for redis_spend_update_queue servicegaugeitem
litellm.redis.total_requests.countNumber of requests for Redis service in the time periodcountrequest
litellm.remaining.api_key.budget.metricRemaining budget for api keygauge-
litellm.remaining.api_key.requests_for_modelRemaining requests API Key can make for model (model based rpm limit on key)gaugerequest
litellm.remaining.api_key.tokens_for_modelRemaining tokens API Key can make for model (model based tpm limit on key)gaugetoken
litellm.remaining.org_budget.metricRemaining budget for orggauge-
litellm.remaining.requestsRemaining requests for model, returned from LLM API Providergaugerequest
litellm.remaining.team_budget.metricRemaining budget for teamgauge-
litellm.remaining.user_budget.metricRemaining budget for usergauge-
litellm.remaining_requests.metricTrack x-ratelimit-remaining-requests returned from LLM API Deploymentgaugerequest
litellm.remaining_tokensRemaining tokens for model, returned from LLM API Providergaugetoken
litellm.remaining_tokens.metricRemaining tokens for model, returned from LLM API Providergaugetoken
litellm.request.queue_time_seconds.bucketNumber of observations that fall into each upper_bound bucket for time spent in request queue before processing starts (seconds)count-
litellm.request.queue_time_seconds.countNumber of observations for time spent in request queue before processing starts (seconds) in the time periodcount-
litellm.request.queue_time_seconds.sumTime spent in request queue before processing starts (seconds)countsecond
litellm.request.total_latency.metric.bucketNumber of observations that fall into each upper_bound total latency bucket (seconds) for a request to LiteLLMcount-
litellm.request.total_latency.metric.countNumber of total latency observations (seconds) for a request to LiteLLM in the time periodcount-
litellm.request.total_latency.metric.sumTotal latency (seconds) for a request to LiteLLMcountsecond
litellm.requests.metric.countDeprecated - use litellm.proxy.total_requests.metric.count. Number of LLM calls to litellm in the time period - track total per API Key, team, usercountrequest
litellm.reset_budget_job.failed_requests.countNumber of failed requests for reset_budget_job service in the time periodcounterror
litellm.reset_budget_job.latency.bucketLatency for reset_budget_job servicecount-
litellm.reset_budget_job.total_requests.countNumber of requests for reset_budget_job service in the time periodcountrequest
litellm.router.failed_requests.countNumber of failed requests for router service in the time periodcounterror
litellm.router.latency.bucketNumber of observations that fall into each upper_bound latency bucket for router servicecount-
litellm.router.latency.countNumber of latency observations for router service in the time periodcount-
litellm.router.latency.sumLatency for router servicecountmillisecond
litellm.router.total_requests.countNumber of requests for router service in the time periodcountrequest
litellm.self.failed_requests.countNumber of failed requests for self service in the time periodcounterror
litellm.self.latency.bucketNumber of observations that fall into each upper_bound latency bucket for self servicecount-
litellm.self.latency.countNumber of latency observations for self service in the time periodcount-
litellm.self.latency.sumLatency for self servicecountmillisecond
litellm.self.total_requests.countNumber of requests for self service in the time periodcountrequest
litellm.spend.metric.countSpend on LLM requests in the time periodcount-
litellm.team.budget.remaining_hours.metricRemaining hours for team budget to be resetgaugehour
litellm.team.max_budget.metricMaximum budget set for teamgauge-
litellm.team.members.metricNumber of members in a teamgauge-
litellm.teams_countTotal number of teams in LiteLLMgauge-
litellm.total.tokens.countNumber of input + output tokens from LLM requests in the time periodcounttoken
litellm.total_usersTotal number of users in LiteLLMgaugeuser
litellm.user.budget.remaining_hours.metricRemaining hours for user budget to be resetgaugehour
litellm.user.max_budget.metricMaximum budget set for usergauge-
litellm.video_duration_seconds.metric.countSeconds of video generated, from usage.duration_seconds on video generation callscountsecond

Official documentation

Official documentation for the LiteLLM integration

Metric names and descriptions are the official Datadog integration definitions (Copyright Datadog, Inc., BSD-3-Clause), reproduced unedited. The full license terms are on the About page.