Skip to content

Commit ad67fd1

Browse files
rename availability reasons for clarity (valid_response, rate_limited_platform)
1 parent 64b5bed commit ad67fd1

5 files changed

Lines changed: 11 additions & 11 deletions

File tree

src/mlpa/core/completions.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ async def _read_next_chunk(
272272
snapshot=litellm_routing_snapshot,
273273
)
274274
result = PrometheusResult.SUCCESS
275-
availability_reason = AvailabilityReason.CLEAN_COMPLETION
275+
availability_reason = AvailabilityReason.VALID_RESPONSE
276276
except (GeneratorExit, asyncio.CancelledError):
277277
# Client went away mid-stream: Starlette tears the generator down by
278278
# throwing GeneratorExit (or cancelling the task) at the paused
@@ -384,7 +384,7 @@ async def get_completion(authorized_chat_request: AuthorizedChatRequest):
384384
snapshot=litellm_routing_snapshot,
385385
)
386386
result = PrometheusResult.SUCCESS
387-
availability_reason = AvailabilityReason.CLEAN_COMPLETION
387+
availability_reason = AvailabilityReason.VALID_RESPONSE
388388
return data
389389
except HTTPException:
390390
raise

src/mlpa/core/errors.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ def availability_reason(self) -> AvailabilityReason:
4242
if self.reason == PrometheusRejectionReason.RATE_LIMITED:
4343
if self.error_code == ERROR_CODE_UPSTREAM_RATE_LIMIT_EXCEEDED:
4444
return AvailabilityReason.RATE_LIMITED_UPSTREAM
45-
return AvailabilityReason.RATE_LIMITED_OWN
45+
return AvailabilityReason.RATE_LIMITED_PLATFORM
4646
return _REJECTION_TO_AVAILABILITY_REASON[self.reason]
4747

4848

src/mlpa/core/prometheus_metrics.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,11 @@ class AvailabilityReason(StrEnum):
4444
AUTH_SYSTEM_FAILURE = "auth_system_failure" # failure
4545

4646
# --- completion-stage reasons (recorded inside stream_completion / get_completion) ---
47-
CLEAN_COMPLETION = "clean_completion" # success
47+
VALID_RESPONSE = "valid_response" # success
4848
UPSTREAM_ERROR = "upstream_error" # failure
4949
EMPTY_RESPONSE = "empty_response" # failure
5050
BUDGET_EXCEEDED = "budget_exceeded" # excluded
51-
RATE_LIMITED_OWN = "rate_limited_own" # excluded
51+
RATE_LIMITED_PLATFORM = "rate_limited_platform" # excluded
5252
RATE_LIMITED_UPSTREAM = "rate_limited_upstream" # excluded
5353
PAYLOAD_TOO_LARGE = "payload_too_large" # excluded
5454
INVALID_MODEL_NAME = "invalid_model_name" # excluded
@@ -64,11 +64,11 @@ class AvailabilityReason(StrEnum):
6464
AvailabilityReason.BLOCKED: AvailabilityOutcome.EXCLUDED,
6565
AvailabilityReason.PROVISIONING_FAILURE: AvailabilityOutcome.FAILURE,
6666
AvailabilityReason.AUTH_SYSTEM_FAILURE: AvailabilityOutcome.FAILURE,
67-
AvailabilityReason.CLEAN_COMPLETION: AvailabilityOutcome.SUCCESS,
67+
AvailabilityReason.VALID_RESPONSE: AvailabilityOutcome.SUCCESS,
6868
AvailabilityReason.UPSTREAM_ERROR: AvailabilityOutcome.FAILURE,
6969
AvailabilityReason.EMPTY_RESPONSE: AvailabilityOutcome.FAILURE,
7070
AvailabilityReason.BUDGET_EXCEEDED: AvailabilityOutcome.EXCLUDED,
71-
AvailabilityReason.RATE_LIMITED_OWN: AvailabilityOutcome.EXCLUDED,
71+
AvailabilityReason.RATE_LIMITED_PLATFORM: AvailabilityOutcome.EXCLUDED,
7272
AvailabilityReason.RATE_LIMITED_UPSTREAM: AvailabilityOutcome.EXCLUDED,
7373
AvailabilityReason.PAYLOAD_TOO_LARGE: AvailabilityOutcome.EXCLUDED,
7474
AvailabilityReason.INVALID_MODEL_NAME: AvailabilityOutcome.EXCLUDED,

src/tests/unit/test_availability.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ def test_every_completion_stage_rejection_reason_maps_to_excluded():
6565
(
6666
PrometheusRejectionReason.RATE_LIMITED,
6767
ERROR_CODE_RATE_LIMIT_EXCEEDED,
68-
AvailabilityReason.RATE_LIMITED_OWN,
68+
AvailabilityReason.RATE_LIMITED_PLATFORM,
6969
),
7070
(
7171
PrometheusRejectionReason.RATE_LIMITED,

src/tests/unit/test_completions.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ async def test_get_completion_success(mocker, metrics_spy):
174174
_availability_count(
175175
metrics_spy,
176176
AvailabilityOutcome.SUCCESS,
177-
AvailabilityReason.CLEAN_COMPLETION,
177+
AvailabilityReason.VALID_RESPONSE,
178178
)
179179
== 1
180180
)
@@ -390,7 +390,7 @@ async def test_stream_completion_success(
390390
_availability_count(
391391
metrics_spy,
392392
AvailabilityOutcome.SUCCESS,
393-
AvailabilityReason.CLEAN_COMPLETION,
393+
AvailabilityReason.VALID_RESPONSE,
394394
)
395395
== 1
396396
)
@@ -569,7 +569,7 @@ async def test_get_completion_rate_limit_exceeded(mocker, metrics_spy):
569569
_availability_count(
570570
metrics_spy,
571571
AvailabilityOutcome.EXCLUDED,
572-
AvailabilityReason.RATE_LIMITED_OWN,
572+
AvailabilityReason.RATE_LIMITED_PLATFORM,
573573
)
574574
== 1
575575
)

0 commit comments

Comments
 (0)