ai_core_sdk.tracking.tracking module

class ai_core_sdk.tracking.tracking.Tracking(base_url: str = None, auth_url: str = None, client_id: str = None, client_secret: str = None, cert_str: str = None, key_str: str = None, cert_file_path: str = None, key_file_path: str = None, token_creator: Callable[[], str] = None, resource_group: str = None)

Bases: MetricsCoreClient

Tracking is a class implemented for interacting with the metrics related endpoints of the server. It is a wrapper around the base class ai_core_sdk.resource_clients.metrics_client.MetricsCoreClient

Parameters:

base_url – Base URL of the AI Core. Should include the base path as well. (i.e., “<base_url>/lm/scenarios”

should work) :type base_url: str :param auth_url: URL of the authorization endpoint. Should be the full URL (including /oauth/token), defaults to

None

Parameters:
  • client_id (str, optional) – client id to be used for authorization, defaults to None

  • client_secret (str, optional) – client secret to be used for authorization, defaults to None

  • cert_str (str, optional) – certificate file content, needs to be provided alongside the key_str parameter, defaults to None

  • key_str (str, optional) – key file content, needs to be provided alongside the cert_str parameter, defaults to None

  • cert_file_path (str, optional) – path to the certificate file, needs to be provided alongside the key_file_path parameter, defaults to None

  • key_file_path (str, optional) – path to the key file, needs to be provided alongside the cert_file_path parameter, defaults to None

  • token_creator (Callable[[], str], optional) – the function which returns the Bearer token, when called. Either this, or auth_url & client_id & client_secret should be specified, defaults to None

  • resource_group (str, optional) – The default resource group which will be used while sending the requests to the server. If not set, the resource_group should be specified with every request to the server, defaults to None

__init__(base_url: str = None, auth_url: str = None, client_id: str = None, client_secret: str = None, cert_str: str = None, key_str: str = None, cert_file_path: str = None, key_file_path: str = None, token_creator: Callable[[], str] = None, resource_group: str = None)
modify(execution_id: str = '', metrics: List[Metric] = None, tags: List[MetricTag] = None, custom_info: List[MetricCustomInfo] = None, resource_group: str = None) None

Creates or updates the metrics for an execution.

param execution_id:

ID of the execution, of which the metrics should be modified.

type execution_id:

str

param metrics:

List of the metrics related to the execution, defaults to None

type metrics:

List[class:ai_api_client_sdk.metric.Metric], optional

param tags:

List of the tags related to the execution, defaults to None

type tags:

List[class:’ai_api_client_sdk.models.metric_tag.MetricTag’], optional

param custom_info:

List of custom info related to the execution, defaults to None

type custom_info:

List[class:ai_api_client_sdk.models.metric_custom_info.MetricCustomInfo], optional

param resource_group:

Resource Group which the request should be sent on behalf. Either this or a default resource group in the ai_api_client_sdk.ai_api_v2_client.AIAPIV2Client should be specified, defaults to None

type resource_group:

str

raises:

class:ai_api_client_sdk.exception.AIAPIInvalidRequestException if a 400 response is received from the

server
raises:

class:ai_api_client_sdk.exception.AIAPIServerException if a non-2XX response is received from the server

log_metrics(metrics: List[Metric], execution_id: str = '', artifact_name: str = None, resource_group: str = None) None

Creates or updates the metrics for an execution.

param metrics:

List of the metrics related to the execution,

type metrics:

List[class:ai_api_client_sdk.metric.Metric]

param execution_id:

ID of the execution, of which the metrics should be modified.

type execution_id:

str

param artifact_name:

Name of the artifact to associate with a metric, defaults to None

type artifact_name:

str

param resource_group:

Resource Group which the request should be sent on behalf. Either this or a default resource group in the ai_api_client_sdk.ai_api_v2_client.AIAPIV2Client should be specified, defaults to None

type resource_group:

str

raises:

class:ai_api_client_sdk.exception.AIAPIInvalidRequestException if a 400 response is received from the

server
raises:

class:ai_api_client_sdk.exception.AIAPIServerException if a non-2XX response is received from the server

set_custom_info(custom_info: List[MetricCustomInfo], execution_id: str = '', resource_group: str = None) None
log custom info against the given execution

captures consumption semantics for the metrics or complex metric in JSON format.

param custom_info:

List of custom info related to the execution

type custom_info:

List[class:ai_api_client_sdk.models.metric_custom_info.MetricCustomInfo], optional

param execution_id:

ID of the execution, of which the metrics should be modified.

type execution_id:

str

param resource_group:

Resource Group which the request should be sent on behalf. Either this or a default resource group in the ai_api_client_sdk.ai_api_v2_client.AIAPIV2Client should be specified, defaults to None

type resource_group:

str

raises:

class:ai_api_client_sdk.exception.AIAPIInvalidRequestException if a 400 response is received from the

server
raises:

class:ai_api_client_sdk.exception.AIAPIServerException if a non-2XX response is received from the server

set_tags(tags: List[MetricTag], execution_id: str = '', resource_group: str = None) None

log tags against the given execution

param tags:

List of the tags related to the execution, defaults to None

type tags:

List[class:’ai_api_client_sdk.models.metric_tag.MetricTag’]

param execution_id:

ID of the execution, of which the metrics should be modified.

type execution_id:

str

param resource_group:

Resource Group which the request should be sent on behalf. Either this or a default resource group in the ai_api_client_sdk.ai_api_v2_client.AIAPIV2Client should be specified, defaults to None

type resource_group:

str

raises:

class:ai_api_client_sdk.exception.AIAPIInvalidRequestException if a 400 response is received from the

server
raises:

class:ai_api_client_sdk.exception.AIAPIServerException if a non-2XX response is received from the server

query(filter: str = None, execution_ids: List[str] = None, select: List[str] = None, resource_group: str = None) MetricsQueryResponse

Creates or updates the metrics for an execution.

Parameters:
  • filter (str, optional) – Deprecated. Use parameter execution_ids instead. A filter expression that filters the metric resources using execution IDs. User can only use in, eq operators in filter expression, defaults to None

  • execution_ids (List[str], optional) – IDs of the executions, of which the metrics should be retrieved, defaults to None

  • select (List[str], optional) – Values of select can be metrics,tags,customInfo or any of the combinations of these or *. Can be used to select(project) only the resources specified

  • resource_group (str) – Resource Group which the request should be sent on behalf. Either this or a default resource group in the ai_api_client_sdk.ai_api_v2_client.AIAPIV2Client should be specified, defaults to None

Raises:

class:ai_api_client_sdk.exception.AIAPIInvalidRequestException if a 400 response is received from the server

Raises:

class:ai_api_client_sdk.exception.AIAPIAuthorizationException if a 401 response is received from the server

Raises:

class:ai_api_client_sdk.exception.AIAPIServerException if a non-2XX response is received from the server

Returns:

An object representing the response from the server

Return type:

class:ai_api_client_sdk.models.metrics_query_response.MetricsQueryResponse

delete(execution_id: str, resource_group: str = None) None

Deletes the metrics.

Parameters:
  • execution_id (str) – ID of the execution, of which the metrics should be deleted.

  • resource_group (str) – Resource Group which the request should be sent on behalf. Either this or a default resource group in the ai_api_client_sdk.ai_api_v2_client.AIAPIV2Client should be specified, defaults to None

Raises:

class:ai_api_client_sdk.exception.AIAPIInvalidRequestException if a 400 response is received from the server

Raises:

class:ai_api_client_sdk.exception.AIAPIAuthorizationException if a 401 response is received from the server

Raises:

class:ai_api_client_sdk.exception.AIAPINotFoundException if a 404 response is received from the server

Raises:

class:ai_api_client_sdk.exception.AIAPIServerException if a non-2XX response is received from the server