blaxel 0.2.34__py3-none-any.whl → 0.2.35__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- blaxel/__init__.py +2 -2
- blaxel/core/client/api/agents/create_agent.py +64 -19
- blaxel/core/client/api/agents/delete_agent.py +44 -15
- blaxel/core/client/api/agents/get_agent.py +43 -14
- blaxel/core/client/api/agents/list_agents.py +40 -11
- blaxel/core/client/api/agents/update_agent.py +60 -19
- blaxel/core/client/api/compute/create_sandbox.py +60 -23
- blaxel/core/client/api/compute/delete_sandbox.py +40 -19
- blaxel/core/client/api/compute/get_sandbox.py +39 -18
- blaxel/core/client/api/compute/list_sandboxes.py +40 -19
- blaxel/core/client/api/compute/update_sandbox.py +56 -23
- blaxel/core/client/api/configurations/get_configuration.py +16 -4
- blaxel/core/client/api/customdomains/create_custom_domain.py +12 -0
- blaxel/core/client/api/customdomains/list_custom_domains.py +16 -4
- blaxel/core/client/api/default/get_template.py +8 -4
- blaxel/core/client/api/functions/create_function.py +62 -19
- blaxel/core/client/api/functions/delete_function.py +46 -15
- blaxel/core/client/api/functions/get_function.py +45 -14
- blaxel/core/client/api/functions/list_functions.py +44 -15
- blaxel/core/client/api/functions/update_function.py +62 -19
- blaxel/core/client/api/images/cleanup_images.py +12 -12
- blaxel/core/client/api/images/delete_image.py +12 -8
- blaxel/core/client/api/images/delete_image_tag.py +12 -8
- blaxel/core/client/api/images/get_image.py +12 -8
- blaxel/core/client/api/images/list_images.py +12 -8
- blaxel/core/client/api/integrations/create_integration_connection.py +56 -23
- blaxel/core/client/api/integrations/delete_integration_connection.py +48 -19
- blaxel/core/client/api/integrations/get_integration.py +12 -8
- blaxel/core/client/api/integrations/get_integration_connection.py +44 -19
- blaxel/core/client/api/integrations/get_integration_connection_model.py +2 -2
- blaxel/core/client/api/integrations/list_integration_connections.py +36 -19
- blaxel/core/client/api/integrations/update_integration_connection.py +52 -19
- blaxel/core/client/api/jobs/create_job.py +20 -12
- blaxel/core/client/api/jobs/create_job_execution.py +22 -16
- blaxel/core/client/api/jobs/delete_job.py +12 -8
- blaxel/core/client/api/jobs/delete_job_execution.py +12 -8
- blaxel/core/client/api/jobs/get_job.py +24 -20
- blaxel/core/client/api/jobs/get_job_execution.py +8 -4
- blaxel/core/client/api/jobs/list_job_executions.py +8 -4
- blaxel/core/client/api/jobs/list_jobs.py +12 -8
- blaxel/core/client/api/jobs/update_job.py +20 -12
- blaxel/core/client/api/locations/list_locations.py +12 -8
- blaxel/core/client/api/{default → mcphub}/list_mcp_hub_definitions.py +20 -4
- blaxel/core/client/api/models/create_model.py +52 -23
- blaxel/core/client/api/models/delete_model.py +40 -19
- blaxel/core/client/api/models/get_model.py +40 -19
- blaxel/core/client/api/models/list_models.py +40 -19
- blaxel/core/client/api/models/update_model.py +52 -23
- blaxel/core/client/api/policies/create_policy.py +12 -8
- blaxel/core/client/api/policies/delete_policy.py +12 -8
- blaxel/core/client/api/policies/get_policy.py +12 -8
- blaxel/core/client/api/policies/list_policies.py +12 -8
- blaxel/core/client/api/policies/update_policy.py +12 -8
- blaxel/core/client/api/public_ipslist/list_public_ips.py +37 -5
- blaxel/core/client/api/sandboxhub/__init__.py +0 -0
- blaxel/core/client/api/{default → sandboxhub}/list_sandbox_hub_definitions.py +20 -4
- blaxel/core/client/api/service_accounts/create_api_key_for_service_account.py +12 -8
- blaxel/core/client/api/service_accounts/create_workspace_service_account.py +12 -8
- blaxel/core/client/api/service_accounts/delete_api_key_for_service_account.py +6 -4
- blaxel/core/client/api/service_accounts/delete_workspace_service_account.py +12 -8
- blaxel/core/client/api/service_accounts/get_workspace_service_accounts.py +12 -8
- blaxel/core/client/api/service_accounts/list_api_keys_for_service_account.py +12 -8
- blaxel/core/client/api/service_accounts/update_workspace_service_account.py +8 -8
- blaxel/core/client/api/templates/list_templates.py +12 -8
- blaxel/core/client/api/volume_templates/create_volume_template.py +8 -4
- blaxel/core/client/api/volume_templates/list_volume_templates.py +8 -4
- blaxel/core/client/api/volumes/create_volume.py +56 -23
- blaxel/core/client/api/volumes/delete_volume.py +44 -19
- blaxel/core/client/api/volumes/get_volume.py +40 -19
- blaxel/core/client/api/volumes/list_volumes.py +40 -19
- blaxel/core/client/api/workspaces/create_workspace.py +54 -23
- blaxel/core/client/api/workspaces/delete_workspace.py +42 -19
- blaxel/core/client/api/workspaces/get_workspace.py +42 -19
- blaxel/core/client/api/workspaces/invite_workspace_user.py +8 -4
- blaxel/core/client/api/workspaces/list_workspace_users.py +12 -8
- blaxel/core/client/api/workspaces/list_workspaces.py +36 -19
- blaxel/core/client/api/workspaces/update_workspace.py +50 -19
- blaxel/core/client/models/__init__.py +76 -146
- blaxel/core/client/models/agent.py +43 -47
- blaxel/core/client/models/agent_runtime.py +139 -0
- blaxel/core/client/models/agent_runtime_generation.py +18 -0
- blaxel/core/client/models/agent_spec.py +33 -110
- blaxel/core/client/models/api_key.py +5 -4
- blaxel/core/client/models/core_event.py +5 -5
- blaxel/core/client/models/create_api_key_for_service_account_body.py +2 -1
- blaxel/core/client/models/create_job_execution_request.py +1 -1
- blaxel/core/client/models/create_job_execution_response.py +13 -9
- blaxel/core/client/models/custom_domain.py +19 -36
- blaxel/core/client/models/custom_domain_metadata.py +4 -3
- blaxel/core/client/models/custom_domain_spec.py +14 -5
- blaxel/core/client/models/custom_domain_spec_status.py +19 -0
- blaxel/core/client/models/entrypoint.py +39 -13
- blaxel/core/client/models/{workspace_labels.py → entrypoint_args_item.py} +6 -6
- blaxel/core/client/models/entrypoint_env.py +3 -3
- blaxel/core/client/models/{job_metrics_executions_total.py → entrypoint_super_gateway_args_item.py} +6 -6
- blaxel/core/client/models/{spec_configuration.py → env.py} +17 -8
- blaxel/core/{sandbox/client/models/welcome_response.py → client/models/error.py} +26 -23
- blaxel/core/client/models/expiration_policy.py +30 -11
- blaxel/core/client/models/expiration_policy_action.py +17 -0
- blaxel/core/client/models/expiration_policy_type.py +19 -0
- blaxel/core/client/models/flavor.py +13 -5
- blaxel/core/client/models/flavor_type.py +18 -0
- blaxel/core/client/models/form.py +6 -6
- blaxel/core/client/models/function.py +43 -47
- blaxel/core/client/models/function_runtime.py +138 -0
- blaxel/core/client/models/function_runtime_generation.py +18 -0
- blaxel/core/client/models/function_spec.py +27 -73
- blaxel/core/client/models/function_spec_transport.py +18 -0
- blaxel/core/client/models/image.py +19 -36
- blaxel/core/client/models/integration_connection.py +25 -39
- blaxel/core/client/models/integration_connection_spec.py +8 -5
- blaxel/core/client/models/integration_connection_spec_config.py +1 -1
- blaxel/core/client/models/integration_connection_spec_secret.py +1 -1
- blaxel/core/client/models/integration_endpoint.py +41 -11
- blaxel/core/client/models/integration_endpoint_ignore_models_item.py +45 -0
- blaxel/core/client/models/{mcp_definition_entrypoint.py → integration_endpoint_models_item.py} +6 -6
- blaxel/core/client/models/job.py +43 -47
- blaxel/core/client/models/job_execution.py +30 -37
- blaxel/core/client/models/job_execution_metadata.py +3 -3
- blaxel/core/client/models/job_execution_spec.py +2 -2
- blaxel/core/client/models/job_execution_stats.py +5 -5
- blaxel/core/client/models/job_execution_status.py +24 -0
- blaxel/core/client/models/job_execution_task.py +12 -4
- blaxel/core/client/models/job_execution_task_metadata.py +1 -1
- blaxel/core/client/models/job_execution_task_spec.py +2 -2
- blaxel/core/client/models/job_execution_task_status.py +23 -0
- blaxel/core/client/models/job_runtime.py +172 -0
- blaxel/core/client/models/job_runtime_generation.py +18 -0
- blaxel/core/client/models/job_spec.py +20 -88
- blaxel/core/client/models/location_response.py +5 -5
- blaxel/core/client/models/mcp_definition.py +30 -17
- blaxel/core/client/models/{job_metrics_tasks_total.py → mcp_definition_categories_item.py} +6 -6
- blaxel/core/client/models/metadata.py +23 -17
- blaxel/core/client/models/metadata_labels.py +4 -1
- blaxel/core/client/models/model.py +43 -47
- blaxel/core/client/models/model_runtime.py +99 -0
- blaxel/core/client/models/model_runtime_type.py +34 -0
- blaxel/core/client/models/model_spec.py +12 -58
- blaxel/core/client/models/o_auth.py +23 -6
- blaxel/core/client/models/{form_oauth.py → o_auth_scope_item.py} +6 -6
- blaxel/core/client/models/pending_invitation_accept.py +2 -1
- blaxel/core/client/models/pending_invitation_workspace_details.py +27 -6
- blaxel/core/client/models/{metrics_request_total_per_code.py → pending_invitation_workspace_details_emails_item.py} +6 -6
- blaxel/core/client/models/policy.py +20 -36
- blaxel/core/client/models/policy_location.py +13 -5
- blaxel/core/client/models/policy_location_type.py +19 -0
- blaxel/core/client/models/policy_max_tokens.py +6 -6
- blaxel/core/client/models/policy_resource_type.py +20 -0
- blaxel/core/client/models/policy_spec.py +31 -10
- blaxel/core/client/models/policy_spec_type.py +19 -0
- blaxel/core/client/models/port.py +25 -15
- blaxel/core/client/models/port_protocol.py +19 -0
- blaxel/core/client/models/preview.py +19 -36
- blaxel/core/client/models/preview_metadata.py +12 -10
- blaxel/core/client/models/preview_token.py +19 -36
- blaxel/core/client/models/preview_token_metadata.py +8 -6
- blaxel/core/client/models/repository.py +2 -2
- blaxel/core/client/models/revision_configuration.py +3 -3
- blaxel/core/client/models/sandbox.py +45 -58
- blaxel/core/client/models/sandbox_definition.py +37 -22
- blaxel/core/client/models/sandbox_definition_categories_item.py +45 -0
- blaxel/core/client/models/sandbox_error.py +148 -0
- blaxel/core/client/models/sandbox_error_details.py +45 -0
- blaxel/core/client/models/sandbox_lifecycle.py +3 -2
- blaxel/core/client/models/sandbox_runtime.py +145 -0
- blaxel/core/client/models/sandbox_spec.py +33 -134
- blaxel/core/client/models/status.py +25 -0
- blaxel/core/client/models/template.py +8 -7
- blaxel/core/client/models/template_variable.py +5 -5
- blaxel/core/client/models/trigger.py +14 -6
- blaxel/core/client/models/trigger_configuration.py +7 -6
- blaxel/core/client/models/trigger_type.py +19 -0
- blaxel/core/client/models/volume.py +35 -47
- blaxel/core/client/models/volume_attachment.py +6 -4
- blaxel/core/client/models/volume_spec.py +7 -4
- blaxel/core/client/models/volume_state.py +3 -3
- blaxel/core/client/models/volume_template.py +19 -33
- blaxel/core/client/models/volume_template_state.py +12 -4
- blaxel/core/client/models/volume_template_state_status.py +19 -0
- blaxel/core/client/models/volume_template_version.py +12 -4
- blaxel/core/client/models/volume_template_version_status.py +19 -0
- blaxel/core/client/models/workspace.py +35 -25
- blaxel/core/client/models/workspace_runtime.py +3 -2
- blaxel/core/client/models/workspace_status.py +22 -0
- blaxel/core/common/__init__.py +1 -1
- blaxel/core/jobs/__init__.py +0 -1
- blaxel/core/sandbox/__init__.py +2 -0
- blaxel/core/sandbox/client/api/process/post_process.py +8 -4
- blaxel/core/sandbox/client/models/__init__.py +0 -2
- blaxel/core/sandbox/client/models/process_response.py +16 -0
- blaxel/core/sandbox/client/models/process_response_status.py +9 -0
- blaxel/core/sandbox/default/__init__.py +2 -0
- blaxel/core/sandbox/default/interpreter.py +5 -1
- blaxel/core/sandbox/default/preview.py +3 -1
- blaxel/core/sandbox/default/sandbox.py +51 -16
- blaxel/core/sandbox/sync/process.py +2 -1
- blaxel/core/sandbox/sync/sandbox.py +34 -13
- blaxel/core/tools/common.py +16 -2
- blaxel/core/volume/__init__.py +2 -2
- blaxel/core/volume/volume.py +32 -10
- blaxel/langgraph/tools.py +34 -2
- blaxel/openai/tools.py +33 -1
- {blaxel-0.2.34.dist-info → blaxel-0.2.35.dist-info}/METADATA +3 -3
- {blaxel-0.2.34.dist-info → blaxel-0.2.35.dist-info}/RECORD +207 -246
- blaxel/core/client/models/acl.py +0 -133
- blaxel/core/client/models/billable_time_metric.py +0 -89
- blaxel/core/client/models/core_spec.py +0 -194
- blaxel/core/client/models/core_spec_configurations.py +0 -77
- blaxel/core/client/models/histogram_bucket.py +0 -79
- blaxel/core/client/models/histogram_stats.py +0 -88
- blaxel/core/client/models/integration_model.py +0 -162
- blaxel/core/client/models/job_execution_config.py +0 -79
- blaxel/core/client/models/job_metrics.py +0 -262
- blaxel/core/client/models/jobs_chart_value.py +0 -70
- blaxel/core/client/models/jobs_network_chart.py +0 -102
- blaxel/core/client/models/jobs_success_failed_chart.py +0 -147
- blaxel/core/client/models/jobs_total.py +0 -88
- blaxel/core/client/models/last_n_requests_metric.py +0 -97
- blaxel/core/client/models/latency_metric.py +0 -148
- blaxel/core/client/models/logs_response.py +0 -63
- blaxel/core/client/models/logs_response_data.py +0 -99
- blaxel/core/client/models/mcp_definition_form.py +0 -45
- blaxel/core/client/models/memory_allocation_by_name.py +0 -70
- blaxel/core/client/models/memory_allocation_metric.py +0 -61
- blaxel/core/client/models/metric.py +0 -79
- blaxel/core/client/models/metrics.py +0 -273
- blaxel/core/client/models/metrics_models.py +0 -45
- blaxel/core/client/models/metrics_rps_per_code.py +0 -45
- blaxel/core/client/models/pod_template_spec.py +0 -45
- blaxel/core/client/models/request_duration_over_time_metric.py +0 -97
- blaxel/core/client/models/request_duration_over_time_metrics.py +0 -84
- blaxel/core/client/models/request_total_by_origin_metric.py +0 -129
- blaxel/core/client/models/request_total_by_origin_metric_request_total_by_origin.py +0 -45
- blaxel/core/client/models/request_total_by_origin_metric_request_total_by_origin_and_code.py +0 -45
- blaxel/core/client/models/request_total_metric.py +0 -155
- blaxel/core/client/models/request_total_metric_request_total_per_code.py +0 -45
- blaxel/core/client/models/request_total_metric_rps_per_code.py +0 -45
- blaxel/core/client/models/request_total_response_data.py +0 -97
- blaxel/core/client/models/resource.py +0 -99
- blaxel/core/client/models/resource_log.py +0 -88
- blaxel/core/client/models/resource_log_chart.py +0 -133
- blaxel/core/client/models/resource_log_response.py +0 -83
- blaxel/core/client/models/resource_metrics.py +0 -618
- blaxel/core/client/models/resource_metrics_request_total_per_code.py +0 -45
- blaxel/core/client/models/resource_metrics_request_total_per_code_previous.py +0 -45
- blaxel/core/client/models/resource_metrics_rps_per_code.py +0 -45
- blaxel/core/client/models/resource_metrics_rps_per_code_previous.py +0 -45
- blaxel/core/client/models/resource_trace.py +0 -97
- blaxel/core/client/models/runtime.py +0 -317
- blaxel/core/client/models/runtime_configuration.py +0 -45
- blaxel/core/client/models/runtime_startup_probe.py +0 -45
- blaxel/core/client/models/sandbox_metrics.py +0 -88
- blaxel/core/client/models/serverless_config.py +0 -117
- blaxel/core/client/models/serverless_config_configuration.py +0 -45
- blaxel/core/client/models/start_sandbox.py +0 -98
- blaxel/core/client/models/stop_sandbox.py +0 -98
- blaxel/core/client/models/store_agent.py +0 -181
- blaxel/core/client/models/store_agent_labels.py +0 -45
- blaxel/core/client/models/store_configuration.py +0 -156
- blaxel/core/client/models/store_configuration_option.py +0 -79
- blaxel/core/client/models/time_to_first_token_over_time_metrics.py +0 -87
- blaxel/core/client/models/token_rate_metric.py +0 -106
- blaxel/core/client/models/token_rate_metrics.py +0 -124
- blaxel/core/client/models/token_total_metric.py +0 -112
- blaxel/core/client/models/trace_ids_response.py +0 -45
- blaxel/core/client/models/websocket_channel.py +0 -97
- blaxel/core/client/models/websocket_message.py +0 -106
- blaxel/core/sandbox/client/api/root/delete.py +0 -130
- blaxel/core/sandbox/client/api/root/get.py +0 -130
- blaxel/core/sandbox/client/api/root/options.py +0 -130
- blaxel/core/sandbox/client/api/root/patch.py +0 -130
- blaxel/core/sandbox/client/api/root/post.py +0 -130
- blaxel/core/sandbox/client/api/root/put.py +0 -130
- /blaxel/core/{sandbox/client/api/root → client/api/mcphub}/__init__.py +0 -0
- {blaxel-0.2.34.dist-info → blaxel-0.2.35.dist-info}/WHEEL +0 -0
- {blaxel-0.2.34.dist-info → blaxel-0.2.35.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,618 +0,0 @@
|
|
|
1
|
-
from typing import TYPE_CHECKING, Any, TypeVar, Union
|
|
2
|
-
|
|
3
|
-
from attrs import define as _attrs_define
|
|
4
|
-
from attrs import field as _attrs_field
|
|
5
|
-
|
|
6
|
-
from ..types import UNSET, Unset
|
|
7
|
-
|
|
8
|
-
if TYPE_CHECKING:
|
|
9
|
-
from ..models.billable_time_metric import BillableTimeMetric
|
|
10
|
-
from ..models.jobs_chart_value import JobsChartValue
|
|
11
|
-
from ..models.last_n_requests_metric import LastNRequestsMetric
|
|
12
|
-
from ..models.latency_metric import LatencyMetric
|
|
13
|
-
from ..models.memory_allocation_metric import MemoryAllocationMetric
|
|
14
|
-
from ..models.metric import Metric
|
|
15
|
-
from ..models.request_duration_over_time_metrics import RequestDurationOverTimeMetrics
|
|
16
|
-
from ..models.request_total_by_origin_metric import RequestTotalByOriginMetric
|
|
17
|
-
from ..models.resource_metrics_request_total_per_code import ResourceMetricsRequestTotalPerCode
|
|
18
|
-
from ..models.resource_metrics_request_total_per_code_previous import (
|
|
19
|
-
ResourceMetricsRequestTotalPerCodePrevious,
|
|
20
|
-
)
|
|
21
|
-
from ..models.resource_metrics_rps_per_code import ResourceMetricsRpsPerCode
|
|
22
|
-
from ..models.resource_metrics_rps_per_code_previous import ResourceMetricsRpsPerCodePrevious
|
|
23
|
-
from ..models.sandbox_metrics import SandboxMetrics
|
|
24
|
-
from ..models.time_to_first_token_over_time_metrics import TimeToFirstTokenOverTimeMetrics
|
|
25
|
-
from ..models.token_rate_metrics import TokenRateMetrics
|
|
26
|
-
from ..models.token_total_metric import TokenTotalMetric
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
T = TypeVar("T", bound="ResourceMetrics")
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
@_attrs_define
|
|
33
|
-
class ResourceMetrics:
|
|
34
|
-
"""Metrics for a single resource deployment (eg. model deployment, function deployment)
|
|
35
|
-
|
|
36
|
-
Attributes:
|
|
37
|
-
billable_time (Union[Unset, BillableTimeMetric]): Billable time metric
|
|
38
|
-
inference_errors_global (Union[Unset, list['Metric']]): Array of metrics
|
|
39
|
-
inference_global (Union[Unset, list['Metric']]): Array of metrics
|
|
40
|
-
last_n_requests (Union[Unset, list['LastNRequestsMetric']]): Historical requests (in last 24 hours) for the
|
|
41
|
-
model deployment globally
|
|
42
|
-
latency (Union[Unset, LatencyMetric]): Latency metrics
|
|
43
|
-
latency_previous (Union[Unset, LatencyMetric]): Latency metrics
|
|
44
|
-
memory_allocation (Union[Unset, MemoryAllocationMetric]): Metrics for memory allocation
|
|
45
|
-
model_ttft (Union[Unset, LatencyMetric]): Latency metrics
|
|
46
|
-
model_ttft_over_time (Union[Unset, TimeToFirstTokenOverTimeMetrics]): Time to first token over time metrics
|
|
47
|
-
request_duration_over_time (Union[Unset, RequestDurationOverTimeMetrics]): Request duration over time metrics
|
|
48
|
-
request_total (Union[Unset, float]): Number of requests for the resource globally
|
|
49
|
-
request_total_by_origin (Union[Unset, RequestTotalByOriginMetric]): Request total by origin metric
|
|
50
|
-
request_total_by_origin_previous (Union[Unset, RequestTotalByOriginMetric]): Request total by origin metric
|
|
51
|
-
request_total_per_code (Union[Unset, ResourceMetricsRequestTotalPerCode]): Number of requests for the resource
|
|
52
|
-
globally per code
|
|
53
|
-
request_total_per_code_previous (Union[Unset, ResourceMetricsRequestTotalPerCodePrevious]): Number of requests
|
|
54
|
-
for the resource globally per code for the previous period
|
|
55
|
-
request_total_previous (Union[Unset, float]): Number of requests for the resource globally for the previous
|
|
56
|
-
period
|
|
57
|
-
rps (Union[Unset, float]): Number of requests per second for the resource globally
|
|
58
|
-
rps_per_code (Union[Unset, ResourceMetricsRpsPerCode]): Number of requests per second for the resource globally
|
|
59
|
-
per code
|
|
60
|
-
rps_per_code_previous (Union[Unset, ResourceMetricsRpsPerCodePrevious]): Number of requests per second for the
|
|
61
|
-
resource globally per code for the previous period
|
|
62
|
-
rps_previous (Union[Unset, float]): Number of requests per second for the resource globally for the previous
|
|
63
|
-
period
|
|
64
|
-
sandboxes_cpu_usage (Union[Unset, list['JobsChartValue']]): CPU usage over time for sandboxes
|
|
65
|
-
sandboxes_ram_usage (Union[Unset, list['SandboxMetrics']]): RAM usage over time for sandboxes with memory,
|
|
66
|
-
value, and percent metrics
|
|
67
|
-
token_rate (Union[Unset, TokenRateMetrics]): Token rate metrics
|
|
68
|
-
token_total (Union[Unset, TokenTotalMetric]): Token total metric
|
|
69
|
-
"""
|
|
70
|
-
|
|
71
|
-
billable_time: Union[Unset, "BillableTimeMetric"] = UNSET
|
|
72
|
-
inference_errors_global: Union[Unset, list["Metric"]] = UNSET
|
|
73
|
-
inference_global: Union[Unset, list["Metric"]] = UNSET
|
|
74
|
-
last_n_requests: Union[Unset, list["LastNRequestsMetric"]] = UNSET
|
|
75
|
-
latency: Union[Unset, "LatencyMetric"] = UNSET
|
|
76
|
-
latency_previous: Union[Unset, "LatencyMetric"] = UNSET
|
|
77
|
-
memory_allocation: Union[Unset, "MemoryAllocationMetric"] = UNSET
|
|
78
|
-
model_ttft: Union[Unset, "LatencyMetric"] = UNSET
|
|
79
|
-
model_ttft_over_time: Union[Unset, "TimeToFirstTokenOverTimeMetrics"] = UNSET
|
|
80
|
-
request_duration_over_time: Union[Unset, "RequestDurationOverTimeMetrics"] = UNSET
|
|
81
|
-
request_total: Union[Unset, float] = UNSET
|
|
82
|
-
request_total_by_origin: Union[Unset, "RequestTotalByOriginMetric"] = UNSET
|
|
83
|
-
request_total_by_origin_previous: Union[Unset, "RequestTotalByOriginMetric"] = UNSET
|
|
84
|
-
request_total_per_code: Union[Unset, "ResourceMetricsRequestTotalPerCode"] = UNSET
|
|
85
|
-
request_total_per_code_previous: Union[Unset, "ResourceMetricsRequestTotalPerCodePrevious"] = (
|
|
86
|
-
UNSET
|
|
87
|
-
)
|
|
88
|
-
request_total_previous: Union[Unset, float] = UNSET
|
|
89
|
-
rps: Union[Unset, float] = UNSET
|
|
90
|
-
rps_per_code: Union[Unset, "ResourceMetricsRpsPerCode"] = UNSET
|
|
91
|
-
rps_per_code_previous: Union[Unset, "ResourceMetricsRpsPerCodePrevious"] = UNSET
|
|
92
|
-
rps_previous: Union[Unset, float] = UNSET
|
|
93
|
-
sandboxes_cpu_usage: Union[Unset, list["JobsChartValue"]] = UNSET
|
|
94
|
-
sandboxes_ram_usage: Union[Unset, list["SandboxMetrics"]] = UNSET
|
|
95
|
-
token_rate: Union[Unset, "TokenRateMetrics"] = UNSET
|
|
96
|
-
token_total: Union[Unset, "TokenTotalMetric"] = UNSET
|
|
97
|
-
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
98
|
-
|
|
99
|
-
def to_dict(self) -> dict[str, Any]:
|
|
100
|
-
billable_time: Union[Unset, dict[str, Any]] = UNSET
|
|
101
|
-
if (
|
|
102
|
-
self.billable_time
|
|
103
|
-
and not isinstance(self.billable_time, Unset)
|
|
104
|
-
and not isinstance(self.billable_time, dict)
|
|
105
|
-
):
|
|
106
|
-
billable_time = self.billable_time.to_dict()
|
|
107
|
-
elif self.billable_time and isinstance(self.billable_time, dict):
|
|
108
|
-
billable_time = self.billable_time
|
|
109
|
-
|
|
110
|
-
inference_errors_global: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
111
|
-
if not isinstance(self.inference_errors_global, Unset):
|
|
112
|
-
inference_errors_global = []
|
|
113
|
-
for componentsschemas_array_metric_item_data in self.inference_errors_global:
|
|
114
|
-
if type(componentsschemas_array_metric_item_data) is dict:
|
|
115
|
-
componentsschemas_array_metric_item = componentsschemas_array_metric_item_data
|
|
116
|
-
else:
|
|
117
|
-
componentsschemas_array_metric_item = (
|
|
118
|
-
componentsschemas_array_metric_item_data.to_dict()
|
|
119
|
-
)
|
|
120
|
-
inference_errors_global.append(componentsschemas_array_metric_item)
|
|
121
|
-
|
|
122
|
-
inference_global: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
123
|
-
if not isinstance(self.inference_global, Unset):
|
|
124
|
-
inference_global = []
|
|
125
|
-
for componentsschemas_array_metric_item_data in self.inference_global:
|
|
126
|
-
if type(componentsschemas_array_metric_item_data) is dict:
|
|
127
|
-
componentsschemas_array_metric_item = componentsschemas_array_metric_item_data
|
|
128
|
-
else:
|
|
129
|
-
componentsschemas_array_metric_item = (
|
|
130
|
-
componentsschemas_array_metric_item_data.to_dict()
|
|
131
|
-
)
|
|
132
|
-
inference_global.append(componentsschemas_array_metric_item)
|
|
133
|
-
|
|
134
|
-
last_n_requests: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
135
|
-
if not isinstance(self.last_n_requests, Unset):
|
|
136
|
-
last_n_requests = []
|
|
137
|
-
for last_n_requests_item_data in self.last_n_requests:
|
|
138
|
-
if type(last_n_requests_item_data) is dict:
|
|
139
|
-
last_n_requests_item = last_n_requests_item_data
|
|
140
|
-
else:
|
|
141
|
-
last_n_requests_item = last_n_requests_item_data.to_dict()
|
|
142
|
-
last_n_requests.append(last_n_requests_item)
|
|
143
|
-
|
|
144
|
-
latency: Union[Unset, dict[str, Any]] = UNSET
|
|
145
|
-
if (
|
|
146
|
-
self.latency
|
|
147
|
-
and not isinstance(self.latency, Unset)
|
|
148
|
-
and not isinstance(self.latency, dict)
|
|
149
|
-
):
|
|
150
|
-
latency = self.latency.to_dict()
|
|
151
|
-
elif self.latency and isinstance(self.latency, dict):
|
|
152
|
-
latency = self.latency
|
|
153
|
-
|
|
154
|
-
latency_previous: Union[Unset, dict[str, Any]] = UNSET
|
|
155
|
-
if (
|
|
156
|
-
self.latency_previous
|
|
157
|
-
and not isinstance(self.latency_previous, Unset)
|
|
158
|
-
and not isinstance(self.latency_previous, dict)
|
|
159
|
-
):
|
|
160
|
-
latency_previous = self.latency_previous.to_dict()
|
|
161
|
-
elif self.latency_previous and isinstance(self.latency_previous, dict):
|
|
162
|
-
latency_previous = self.latency_previous
|
|
163
|
-
|
|
164
|
-
memory_allocation: Union[Unset, dict[str, Any]] = UNSET
|
|
165
|
-
if (
|
|
166
|
-
self.memory_allocation
|
|
167
|
-
and not isinstance(self.memory_allocation, Unset)
|
|
168
|
-
and not isinstance(self.memory_allocation, dict)
|
|
169
|
-
):
|
|
170
|
-
memory_allocation = self.memory_allocation.to_dict()
|
|
171
|
-
elif self.memory_allocation and isinstance(self.memory_allocation, dict):
|
|
172
|
-
memory_allocation = self.memory_allocation
|
|
173
|
-
|
|
174
|
-
model_ttft: Union[Unset, dict[str, Any]] = UNSET
|
|
175
|
-
if (
|
|
176
|
-
self.model_ttft
|
|
177
|
-
and not isinstance(self.model_ttft, Unset)
|
|
178
|
-
and not isinstance(self.model_ttft, dict)
|
|
179
|
-
):
|
|
180
|
-
model_ttft = self.model_ttft.to_dict()
|
|
181
|
-
elif self.model_ttft and isinstance(self.model_ttft, dict):
|
|
182
|
-
model_ttft = self.model_ttft
|
|
183
|
-
|
|
184
|
-
model_ttft_over_time: Union[Unset, dict[str, Any]] = UNSET
|
|
185
|
-
if (
|
|
186
|
-
self.model_ttft_over_time
|
|
187
|
-
and not isinstance(self.model_ttft_over_time, Unset)
|
|
188
|
-
and not isinstance(self.model_ttft_over_time, dict)
|
|
189
|
-
):
|
|
190
|
-
model_ttft_over_time = self.model_ttft_over_time.to_dict()
|
|
191
|
-
elif self.model_ttft_over_time and isinstance(self.model_ttft_over_time, dict):
|
|
192
|
-
model_ttft_over_time = self.model_ttft_over_time
|
|
193
|
-
|
|
194
|
-
request_duration_over_time: Union[Unset, dict[str, Any]] = UNSET
|
|
195
|
-
if (
|
|
196
|
-
self.request_duration_over_time
|
|
197
|
-
and not isinstance(self.request_duration_over_time, Unset)
|
|
198
|
-
and not isinstance(self.request_duration_over_time, dict)
|
|
199
|
-
):
|
|
200
|
-
request_duration_over_time = self.request_duration_over_time.to_dict()
|
|
201
|
-
elif self.request_duration_over_time and isinstance(self.request_duration_over_time, dict):
|
|
202
|
-
request_duration_over_time = self.request_duration_over_time
|
|
203
|
-
|
|
204
|
-
request_total = self.request_total
|
|
205
|
-
|
|
206
|
-
request_total_by_origin: Union[Unset, dict[str, Any]] = UNSET
|
|
207
|
-
if (
|
|
208
|
-
self.request_total_by_origin
|
|
209
|
-
and not isinstance(self.request_total_by_origin, Unset)
|
|
210
|
-
and not isinstance(self.request_total_by_origin, dict)
|
|
211
|
-
):
|
|
212
|
-
request_total_by_origin = self.request_total_by_origin.to_dict()
|
|
213
|
-
elif self.request_total_by_origin and isinstance(self.request_total_by_origin, dict):
|
|
214
|
-
request_total_by_origin = self.request_total_by_origin
|
|
215
|
-
|
|
216
|
-
request_total_by_origin_previous: Union[Unset, dict[str, Any]] = UNSET
|
|
217
|
-
if (
|
|
218
|
-
self.request_total_by_origin_previous
|
|
219
|
-
and not isinstance(self.request_total_by_origin_previous, Unset)
|
|
220
|
-
and not isinstance(self.request_total_by_origin_previous, dict)
|
|
221
|
-
):
|
|
222
|
-
request_total_by_origin_previous = self.request_total_by_origin_previous.to_dict()
|
|
223
|
-
elif self.request_total_by_origin_previous and isinstance(
|
|
224
|
-
self.request_total_by_origin_previous, dict
|
|
225
|
-
):
|
|
226
|
-
request_total_by_origin_previous = self.request_total_by_origin_previous
|
|
227
|
-
|
|
228
|
-
request_total_per_code: Union[Unset, dict[str, Any]] = UNSET
|
|
229
|
-
if (
|
|
230
|
-
self.request_total_per_code
|
|
231
|
-
and not isinstance(self.request_total_per_code, Unset)
|
|
232
|
-
and not isinstance(self.request_total_per_code, dict)
|
|
233
|
-
):
|
|
234
|
-
request_total_per_code = self.request_total_per_code.to_dict()
|
|
235
|
-
elif self.request_total_per_code and isinstance(self.request_total_per_code, dict):
|
|
236
|
-
request_total_per_code = self.request_total_per_code
|
|
237
|
-
|
|
238
|
-
request_total_per_code_previous: Union[Unset, dict[str, Any]] = UNSET
|
|
239
|
-
if (
|
|
240
|
-
self.request_total_per_code_previous
|
|
241
|
-
and not isinstance(self.request_total_per_code_previous, Unset)
|
|
242
|
-
and not isinstance(self.request_total_per_code_previous, dict)
|
|
243
|
-
):
|
|
244
|
-
request_total_per_code_previous = self.request_total_per_code_previous.to_dict()
|
|
245
|
-
elif self.request_total_per_code_previous and isinstance(
|
|
246
|
-
self.request_total_per_code_previous, dict
|
|
247
|
-
):
|
|
248
|
-
request_total_per_code_previous = self.request_total_per_code_previous
|
|
249
|
-
|
|
250
|
-
request_total_previous = self.request_total_previous
|
|
251
|
-
|
|
252
|
-
rps = self.rps
|
|
253
|
-
|
|
254
|
-
rps_per_code: Union[Unset, dict[str, Any]] = UNSET
|
|
255
|
-
if (
|
|
256
|
-
self.rps_per_code
|
|
257
|
-
and not isinstance(self.rps_per_code, Unset)
|
|
258
|
-
and not isinstance(self.rps_per_code, dict)
|
|
259
|
-
):
|
|
260
|
-
rps_per_code = self.rps_per_code.to_dict()
|
|
261
|
-
elif self.rps_per_code and isinstance(self.rps_per_code, dict):
|
|
262
|
-
rps_per_code = self.rps_per_code
|
|
263
|
-
|
|
264
|
-
rps_per_code_previous: Union[Unset, dict[str, Any]] = UNSET
|
|
265
|
-
if (
|
|
266
|
-
self.rps_per_code_previous
|
|
267
|
-
and not isinstance(self.rps_per_code_previous, Unset)
|
|
268
|
-
and not isinstance(self.rps_per_code_previous, dict)
|
|
269
|
-
):
|
|
270
|
-
rps_per_code_previous = self.rps_per_code_previous.to_dict()
|
|
271
|
-
elif self.rps_per_code_previous and isinstance(self.rps_per_code_previous, dict):
|
|
272
|
-
rps_per_code_previous = self.rps_per_code_previous
|
|
273
|
-
|
|
274
|
-
rps_previous = self.rps_previous
|
|
275
|
-
|
|
276
|
-
sandboxes_cpu_usage: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
277
|
-
if not isinstance(self.sandboxes_cpu_usage, Unset):
|
|
278
|
-
sandboxes_cpu_usage = []
|
|
279
|
-
for sandboxes_cpu_usage_item_data in self.sandboxes_cpu_usage:
|
|
280
|
-
if type(sandboxes_cpu_usage_item_data) is dict:
|
|
281
|
-
sandboxes_cpu_usage_item = sandboxes_cpu_usage_item_data
|
|
282
|
-
else:
|
|
283
|
-
sandboxes_cpu_usage_item = sandboxes_cpu_usage_item_data.to_dict()
|
|
284
|
-
sandboxes_cpu_usage.append(sandboxes_cpu_usage_item)
|
|
285
|
-
|
|
286
|
-
sandboxes_ram_usage: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
287
|
-
if not isinstance(self.sandboxes_ram_usage, Unset):
|
|
288
|
-
sandboxes_ram_usage = []
|
|
289
|
-
for sandboxes_ram_usage_item_data in self.sandboxes_ram_usage:
|
|
290
|
-
if type(sandboxes_ram_usage_item_data) is dict:
|
|
291
|
-
sandboxes_ram_usage_item = sandboxes_ram_usage_item_data
|
|
292
|
-
else:
|
|
293
|
-
sandboxes_ram_usage_item = sandboxes_ram_usage_item_data.to_dict()
|
|
294
|
-
sandboxes_ram_usage.append(sandboxes_ram_usage_item)
|
|
295
|
-
|
|
296
|
-
token_rate: Union[Unset, dict[str, Any]] = UNSET
|
|
297
|
-
if (
|
|
298
|
-
self.token_rate
|
|
299
|
-
and not isinstance(self.token_rate, Unset)
|
|
300
|
-
and not isinstance(self.token_rate, dict)
|
|
301
|
-
):
|
|
302
|
-
token_rate = self.token_rate.to_dict()
|
|
303
|
-
elif self.token_rate and isinstance(self.token_rate, dict):
|
|
304
|
-
token_rate = self.token_rate
|
|
305
|
-
|
|
306
|
-
token_total: Union[Unset, dict[str, Any]] = UNSET
|
|
307
|
-
if (
|
|
308
|
-
self.token_total
|
|
309
|
-
and not isinstance(self.token_total, Unset)
|
|
310
|
-
and not isinstance(self.token_total, dict)
|
|
311
|
-
):
|
|
312
|
-
token_total = self.token_total.to_dict()
|
|
313
|
-
elif self.token_total and isinstance(self.token_total, dict):
|
|
314
|
-
token_total = self.token_total
|
|
315
|
-
|
|
316
|
-
field_dict: dict[str, Any] = {}
|
|
317
|
-
field_dict.update(self.additional_properties)
|
|
318
|
-
field_dict.update({})
|
|
319
|
-
if billable_time is not UNSET:
|
|
320
|
-
field_dict["billableTime"] = billable_time
|
|
321
|
-
if inference_errors_global is not UNSET:
|
|
322
|
-
field_dict["inferenceErrorsGlobal"] = inference_errors_global
|
|
323
|
-
if inference_global is not UNSET:
|
|
324
|
-
field_dict["inferenceGlobal"] = inference_global
|
|
325
|
-
if last_n_requests is not UNSET:
|
|
326
|
-
field_dict["lastNRequests"] = last_n_requests
|
|
327
|
-
if latency is not UNSET:
|
|
328
|
-
field_dict["latency"] = latency
|
|
329
|
-
if latency_previous is not UNSET:
|
|
330
|
-
field_dict["latencyPrevious"] = latency_previous
|
|
331
|
-
if memory_allocation is not UNSET:
|
|
332
|
-
field_dict["memoryAllocation"] = memory_allocation
|
|
333
|
-
if model_ttft is not UNSET:
|
|
334
|
-
field_dict["modelTtft"] = model_ttft
|
|
335
|
-
if model_ttft_over_time is not UNSET:
|
|
336
|
-
field_dict["modelTtftOverTime"] = model_ttft_over_time
|
|
337
|
-
if request_duration_over_time is not UNSET:
|
|
338
|
-
field_dict["requestDurationOverTime"] = request_duration_over_time
|
|
339
|
-
if request_total is not UNSET:
|
|
340
|
-
field_dict["requestTotal"] = request_total
|
|
341
|
-
if request_total_by_origin is not UNSET:
|
|
342
|
-
field_dict["requestTotalByOrigin"] = request_total_by_origin
|
|
343
|
-
if request_total_by_origin_previous is not UNSET:
|
|
344
|
-
field_dict["requestTotalByOriginPrevious"] = request_total_by_origin_previous
|
|
345
|
-
if request_total_per_code is not UNSET:
|
|
346
|
-
field_dict["requestTotalPerCode"] = request_total_per_code
|
|
347
|
-
if request_total_per_code_previous is not UNSET:
|
|
348
|
-
field_dict["requestTotalPerCodePrevious"] = request_total_per_code_previous
|
|
349
|
-
if request_total_previous is not UNSET:
|
|
350
|
-
field_dict["requestTotalPrevious"] = request_total_previous
|
|
351
|
-
if rps is not UNSET:
|
|
352
|
-
field_dict["rps"] = rps
|
|
353
|
-
if rps_per_code is not UNSET:
|
|
354
|
-
field_dict["rpsPerCode"] = rps_per_code
|
|
355
|
-
if rps_per_code_previous is not UNSET:
|
|
356
|
-
field_dict["rpsPerCodePrevious"] = rps_per_code_previous
|
|
357
|
-
if rps_previous is not UNSET:
|
|
358
|
-
field_dict["rpsPrevious"] = rps_previous
|
|
359
|
-
if sandboxes_cpu_usage is not UNSET:
|
|
360
|
-
field_dict["sandboxesCpuUsage"] = sandboxes_cpu_usage
|
|
361
|
-
if sandboxes_ram_usage is not UNSET:
|
|
362
|
-
field_dict["sandboxesRamUsage"] = sandboxes_ram_usage
|
|
363
|
-
if token_rate is not UNSET:
|
|
364
|
-
field_dict["tokenRate"] = token_rate
|
|
365
|
-
if token_total is not UNSET:
|
|
366
|
-
field_dict["tokenTotal"] = token_total
|
|
367
|
-
|
|
368
|
-
return field_dict
|
|
369
|
-
|
|
370
|
-
@classmethod
|
|
371
|
-
def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
|
|
372
|
-
from ..models.billable_time_metric import BillableTimeMetric
|
|
373
|
-
from ..models.jobs_chart_value import JobsChartValue
|
|
374
|
-
from ..models.last_n_requests_metric import LastNRequestsMetric
|
|
375
|
-
from ..models.latency_metric import LatencyMetric
|
|
376
|
-
from ..models.memory_allocation_metric import MemoryAllocationMetric
|
|
377
|
-
from ..models.metric import Metric
|
|
378
|
-
from ..models.request_duration_over_time_metrics import RequestDurationOverTimeMetrics
|
|
379
|
-
from ..models.request_total_by_origin_metric import RequestTotalByOriginMetric
|
|
380
|
-
from ..models.resource_metrics_request_total_per_code import (
|
|
381
|
-
ResourceMetricsRequestTotalPerCode,
|
|
382
|
-
)
|
|
383
|
-
from ..models.resource_metrics_request_total_per_code_previous import (
|
|
384
|
-
ResourceMetricsRequestTotalPerCodePrevious,
|
|
385
|
-
)
|
|
386
|
-
from ..models.resource_metrics_rps_per_code import ResourceMetricsRpsPerCode
|
|
387
|
-
from ..models.resource_metrics_rps_per_code_previous import (
|
|
388
|
-
ResourceMetricsRpsPerCodePrevious,
|
|
389
|
-
)
|
|
390
|
-
from ..models.sandbox_metrics import SandboxMetrics
|
|
391
|
-
from ..models.time_to_first_token_over_time_metrics import TimeToFirstTokenOverTimeMetrics
|
|
392
|
-
from ..models.token_rate_metrics import TokenRateMetrics
|
|
393
|
-
from ..models.token_total_metric import TokenTotalMetric
|
|
394
|
-
|
|
395
|
-
if not src_dict:
|
|
396
|
-
return None
|
|
397
|
-
d = src_dict.copy()
|
|
398
|
-
_billable_time = d.pop("billableTime", d.pop("billable_time", UNSET))
|
|
399
|
-
billable_time: Union[Unset, BillableTimeMetric]
|
|
400
|
-
if isinstance(_billable_time, Unset):
|
|
401
|
-
billable_time = UNSET
|
|
402
|
-
else:
|
|
403
|
-
billable_time = BillableTimeMetric.from_dict(_billable_time)
|
|
404
|
-
|
|
405
|
-
inference_errors_global = []
|
|
406
|
-
_inference_errors_global = d.pop(
|
|
407
|
-
"inferenceErrorsGlobal", d.pop("inference_errors_global", UNSET)
|
|
408
|
-
)
|
|
409
|
-
for componentsschemas_array_metric_item_data in _inference_errors_global or []:
|
|
410
|
-
componentsschemas_array_metric_item = Metric.from_dict(
|
|
411
|
-
componentsschemas_array_metric_item_data
|
|
412
|
-
)
|
|
413
|
-
|
|
414
|
-
inference_errors_global.append(componentsschemas_array_metric_item)
|
|
415
|
-
|
|
416
|
-
inference_global = []
|
|
417
|
-
_inference_global = d.pop("inferenceGlobal", d.pop("inference_global", UNSET))
|
|
418
|
-
for componentsschemas_array_metric_item_data in _inference_global or []:
|
|
419
|
-
componentsschemas_array_metric_item = Metric.from_dict(
|
|
420
|
-
componentsschemas_array_metric_item_data
|
|
421
|
-
)
|
|
422
|
-
|
|
423
|
-
inference_global.append(componentsschemas_array_metric_item)
|
|
424
|
-
|
|
425
|
-
last_n_requests = []
|
|
426
|
-
_last_n_requests = d.pop("lastNRequests", d.pop("last_n_requests", UNSET))
|
|
427
|
-
for last_n_requests_item_data in _last_n_requests or []:
|
|
428
|
-
last_n_requests_item = LastNRequestsMetric.from_dict(last_n_requests_item_data)
|
|
429
|
-
|
|
430
|
-
last_n_requests.append(last_n_requests_item)
|
|
431
|
-
|
|
432
|
-
_latency = d.pop("latency", UNSET)
|
|
433
|
-
latency: Union[Unset, LatencyMetric]
|
|
434
|
-
if isinstance(_latency, Unset):
|
|
435
|
-
latency = UNSET
|
|
436
|
-
else:
|
|
437
|
-
latency = LatencyMetric.from_dict(_latency)
|
|
438
|
-
|
|
439
|
-
_latency_previous = d.pop("latencyPrevious", d.pop("latency_previous", UNSET))
|
|
440
|
-
latency_previous: Union[Unset, LatencyMetric]
|
|
441
|
-
if isinstance(_latency_previous, Unset):
|
|
442
|
-
latency_previous = UNSET
|
|
443
|
-
else:
|
|
444
|
-
latency_previous = LatencyMetric.from_dict(_latency_previous)
|
|
445
|
-
|
|
446
|
-
_memory_allocation = d.pop("memoryAllocation", d.pop("memory_allocation", UNSET))
|
|
447
|
-
memory_allocation: Union[Unset, MemoryAllocationMetric]
|
|
448
|
-
if isinstance(_memory_allocation, Unset):
|
|
449
|
-
memory_allocation = UNSET
|
|
450
|
-
else:
|
|
451
|
-
memory_allocation = MemoryAllocationMetric.from_dict(_memory_allocation)
|
|
452
|
-
|
|
453
|
-
_model_ttft = d.pop("modelTtft", d.pop("model_ttft", UNSET))
|
|
454
|
-
model_ttft: Union[Unset, LatencyMetric]
|
|
455
|
-
if isinstance(_model_ttft, Unset):
|
|
456
|
-
model_ttft = UNSET
|
|
457
|
-
else:
|
|
458
|
-
model_ttft = LatencyMetric.from_dict(_model_ttft)
|
|
459
|
-
|
|
460
|
-
_model_ttft_over_time = d.pop("modelTtftOverTime", d.pop("model_ttft_over_time", UNSET))
|
|
461
|
-
model_ttft_over_time: Union[Unset, TimeToFirstTokenOverTimeMetrics]
|
|
462
|
-
if isinstance(_model_ttft_over_time, Unset):
|
|
463
|
-
model_ttft_over_time = UNSET
|
|
464
|
-
else:
|
|
465
|
-
model_ttft_over_time = TimeToFirstTokenOverTimeMetrics.from_dict(_model_ttft_over_time)
|
|
466
|
-
|
|
467
|
-
_request_duration_over_time = d.pop(
|
|
468
|
-
"requestDurationOverTime", d.pop("request_duration_over_time", UNSET)
|
|
469
|
-
)
|
|
470
|
-
request_duration_over_time: Union[Unset, RequestDurationOverTimeMetrics]
|
|
471
|
-
if isinstance(_request_duration_over_time, Unset):
|
|
472
|
-
request_duration_over_time = UNSET
|
|
473
|
-
else:
|
|
474
|
-
request_duration_over_time = RequestDurationOverTimeMetrics.from_dict(
|
|
475
|
-
_request_duration_over_time
|
|
476
|
-
)
|
|
477
|
-
|
|
478
|
-
request_total = d.pop("requestTotal", d.pop("request_total", UNSET))
|
|
479
|
-
|
|
480
|
-
_request_total_by_origin = d.pop(
|
|
481
|
-
"requestTotalByOrigin", d.pop("request_total_by_origin", UNSET)
|
|
482
|
-
)
|
|
483
|
-
request_total_by_origin: Union[Unset, RequestTotalByOriginMetric]
|
|
484
|
-
if isinstance(_request_total_by_origin, Unset):
|
|
485
|
-
request_total_by_origin = UNSET
|
|
486
|
-
else:
|
|
487
|
-
request_total_by_origin = RequestTotalByOriginMetric.from_dict(_request_total_by_origin)
|
|
488
|
-
|
|
489
|
-
_request_total_by_origin_previous = d.pop(
|
|
490
|
-
"requestTotalByOriginPrevious", d.pop("request_total_by_origin_previous", UNSET)
|
|
491
|
-
)
|
|
492
|
-
request_total_by_origin_previous: Union[Unset, RequestTotalByOriginMetric]
|
|
493
|
-
if isinstance(_request_total_by_origin_previous, Unset):
|
|
494
|
-
request_total_by_origin_previous = UNSET
|
|
495
|
-
else:
|
|
496
|
-
request_total_by_origin_previous = RequestTotalByOriginMetric.from_dict(
|
|
497
|
-
_request_total_by_origin_previous
|
|
498
|
-
)
|
|
499
|
-
|
|
500
|
-
_request_total_per_code = d.pop(
|
|
501
|
-
"requestTotalPerCode", d.pop("request_total_per_code", UNSET)
|
|
502
|
-
)
|
|
503
|
-
request_total_per_code: Union[Unset, ResourceMetricsRequestTotalPerCode]
|
|
504
|
-
if isinstance(_request_total_per_code, Unset):
|
|
505
|
-
request_total_per_code = UNSET
|
|
506
|
-
else:
|
|
507
|
-
request_total_per_code = ResourceMetricsRequestTotalPerCode.from_dict(
|
|
508
|
-
_request_total_per_code
|
|
509
|
-
)
|
|
510
|
-
|
|
511
|
-
_request_total_per_code_previous = d.pop(
|
|
512
|
-
"requestTotalPerCodePrevious", d.pop("request_total_per_code_previous", UNSET)
|
|
513
|
-
)
|
|
514
|
-
request_total_per_code_previous: Union[Unset, ResourceMetricsRequestTotalPerCodePrevious]
|
|
515
|
-
if isinstance(_request_total_per_code_previous, Unset):
|
|
516
|
-
request_total_per_code_previous = UNSET
|
|
517
|
-
else:
|
|
518
|
-
request_total_per_code_previous = ResourceMetricsRequestTotalPerCodePrevious.from_dict(
|
|
519
|
-
_request_total_per_code_previous
|
|
520
|
-
)
|
|
521
|
-
|
|
522
|
-
request_total_previous = d.pop(
|
|
523
|
-
"requestTotalPrevious", d.pop("request_total_previous", UNSET)
|
|
524
|
-
)
|
|
525
|
-
|
|
526
|
-
rps = d.pop("rps", UNSET)
|
|
527
|
-
|
|
528
|
-
_rps_per_code = d.pop("rpsPerCode", d.pop("rps_per_code", UNSET))
|
|
529
|
-
rps_per_code: Union[Unset, ResourceMetricsRpsPerCode]
|
|
530
|
-
if isinstance(_rps_per_code, Unset):
|
|
531
|
-
rps_per_code = UNSET
|
|
532
|
-
else:
|
|
533
|
-
rps_per_code = ResourceMetricsRpsPerCode.from_dict(_rps_per_code)
|
|
534
|
-
|
|
535
|
-
_rps_per_code_previous = d.pop("rpsPerCodePrevious", d.pop("rps_per_code_previous", UNSET))
|
|
536
|
-
rps_per_code_previous: Union[Unset, ResourceMetricsRpsPerCodePrevious]
|
|
537
|
-
if isinstance(_rps_per_code_previous, Unset):
|
|
538
|
-
rps_per_code_previous = UNSET
|
|
539
|
-
else:
|
|
540
|
-
rps_per_code_previous = ResourceMetricsRpsPerCodePrevious.from_dict(
|
|
541
|
-
_rps_per_code_previous
|
|
542
|
-
)
|
|
543
|
-
|
|
544
|
-
rps_previous = d.pop("rpsPrevious", d.pop("rps_previous", UNSET))
|
|
545
|
-
|
|
546
|
-
sandboxes_cpu_usage = []
|
|
547
|
-
_sandboxes_cpu_usage = d.pop("sandboxesCpuUsage", d.pop("sandboxes_cpu_usage", UNSET))
|
|
548
|
-
for sandboxes_cpu_usage_item_data in _sandboxes_cpu_usage or []:
|
|
549
|
-
sandboxes_cpu_usage_item = JobsChartValue.from_dict(sandboxes_cpu_usage_item_data)
|
|
550
|
-
|
|
551
|
-
sandboxes_cpu_usage.append(sandboxes_cpu_usage_item)
|
|
552
|
-
|
|
553
|
-
sandboxes_ram_usage = []
|
|
554
|
-
_sandboxes_ram_usage = d.pop("sandboxesRamUsage", d.pop("sandboxes_ram_usage", UNSET))
|
|
555
|
-
for sandboxes_ram_usage_item_data in _sandboxes_ram_usage or []:
|
|
556
|
-
sandboxes_ram_usage_item = SandboxMetrics.from_dict(sandboxes_ram_usage_item_data)
|
|
557
|
-
|
|
558
|
-
sandboxes_ram_usage.append(sandboxes_ram_usage_item)
|
|
559
|
-
|
|
560
|
-
_token_rate = d.pop("tokenRate", d.pop("token_rate", UNSET))
|
|
561
|
-
token_rate: Union[Unset, TokenRateMetrics]
|
|
562
|
-
if isinstance(_token_rate, Unset):
|
|
563
|
-
token_rate = UNSET
|
|
564
|
-
else:
|
|
565
|
-
token_rate = TokenRateMetrics.from_dict(_token_rate)
|
|
566
|
-
|
|
567
|
-
_token_total = d.pop("tokenTotal", d.pop("token_total", UNSET))
|
|
568
|
-
token_total: Union[Unset, TokenTotalMetric]
|
|
569
|
-
if isinstance(_token_total, Unset):
|
|
570
|
-
token_total = UNSET
|
|
571
|
-
else:
|
|
572
|
-
token_total = TokenTotalMetric.from_dict(_token_total)
|
|
573
|
-
|
|
574
|
-
resource_metrics = cls(
|
|
575
|
-
billable_time=billable_time,
|
|
576
|
-
inference_errors_global=inference_errors_global,
|
|
577
|
-
inference_global=inference_global,
|
|
578
|
-
last_n_requests=last_n_requests,
|
|
579
|
-
latency=latency,
|
|
580
|
-
latency_previous=latency_previous,
|
|
581
|
-
memory_allocation=memory_allocation,
|
|
582
|
-
model_ttft=model_ttft,
|
|
583
|
-
model_ttft_over_time=model_ttft_over_time,
|
|
584
|
-
request_duration_over_time=request_duration_over_time,
|
|
585
|
-
request_total=request_total,
|
|
586
|
-
request_total_by_origin=request_total_by_origin,
|
|
587
|
-
request_total_by_origin_previous=request_total_by_origin_previous,
|
|
588
|
-
request_total_per_code=request_total_per_code,
|
|
589
|
-
request_total_per_code_previous=request_total_per_code_previous,
|
|
590
|
-
request_total_previous=request_total_previous,
|
|
591
|
-
rps=rps,
|
|
592
|
-
rps_per_code=rps_per_code,
|
|
593
|
-
rps_per_code_previous=rps_per_code_previous,
|
|
594
|
-
rps_previous=rps_previous,
|
|
595
|
-
sandboxes_cpu_usage=sandboxes_cpu_usage,
|
|
596
|
-
sandboxes_ram_usage=sandboxes_ram_usage,
|
|
597
|
-
token_rate=token_rate,
|
|
598
|
-
token_total=token_total,
|
|
599
|
-
)
|
|
600
|
-
|
|
601
|
-
resource_metrics.additional_properties = d
|
|
602
|
-
return resource_metrics
|
|
603
|
-
|
|
604
|
-
@property
|
|
605
|
-
def additional_keys(self) -> list[str]:
|
|
606
|
-
return list(self.additional_properties.keys())
|
|
607
|
-
|
|
608
|
-
def __getitem__(self, key: str) -> Any:
|
|
609
|
-
return self.additional_properties[key]
|
|
610
|
-
|
|
611
|
-
def __setitem__(self, key: str, value: Any) -> None:
|
|
612
|
-
self.additional_properties[key] = value
|
|
613
|
-
|
|
614
|
-
def __delitem__(self, key: str) -> None:
|
|
615
|
-
del self.additional_properties[key]
|
|
616
|
-
|
|
617
|
-
def __contains__(self, key: str) -> bool:
|
|
618
|
-
return key in self.additional_properties
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
from typing import Any, TypeVar
|
|
2
|
-
|
|
3
|
-
from attrs import define as _attrs_define
|
|
4
|
-
from attrs import field as _attrs_field
|
|
5
|
-
|
|
6
|
-
T = TypeVar("T", bound="ResourceMetricsRequestTotalPerCode")
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
@_attrs_define
|
|
10
|
-
class ResourceMetricsRequestTotalPerCode:
|
|
11
|
-
"""Number of requests for the resource globally per code"""
|
|
12
|
-
|
|
13
|
-
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
14
|
-
|
|
15
|
-
def to_dict(self) -> dict[str, Any]:
|
|
16
|
-
field_dict: dict[str, Any] = {}
|
|
17
|
-
field_dict.update(self.additional_properties)
|
|
18
|
-
|
|
19
|
-
return field_dict
|
|
20
|
-
|
|
21
|
-
@classmethod
|
|
22
|
-
def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
|
|
23
|
-
if not src_dict:
|
|
24
|
-
return None
|
|
25
|
-
d = src_dict.copy()
|
|
26
|
-
resource_metrics_request_total_per_code = cls()
|
|
27
|
-
|
|
28
|
-
resource_metrics_request_total_per_code.additional_properties = d
|
|
29
|
-
return resource_metrics_request_total_per_code
|
|
30
|
-
|
|
31
|
-
@property
|
|
32
|
-
def additional_keys(self) -> list[str]:
|
|
33
|
-
return list(self.additional_properties.keys())
|
|
34
|
-
|
|
35
|
-
def __getitem__(self, key: str) -> Any:
|
|
36
|
-
return self.additional_properties[key]
|
|
37
|
-
|
|
38
|
-
def __setitem__(self, key: str, value: Any) -> None:
|
|
39
|
-
self.additional_properties[key] = value
|
|
40
|
-
|
|
41
|
-
def __delitem__(self, key: str) -> None:
|
|
42
|
-
del self.additional_properties[key]
|
|
43
|
-
|
|
44
|
-
def __contains__(self, key: str) -> bool:
|
|
45
|
-
return key in self.additional_properties
|