Skip to content

Commit b7c21a5

Browse files
rsareddy0329Roja Reddy Sareddyaviruthen
authored
fix: Update telemetry constants to track v2 feature seperately (aws#5437)
* fix: Update telmetry constants to track v2 feature seperately * fix: Update telmetry constants to track v2 feature seperately --------- Co-authored-by: Roja Reddy Sareddy <rsareddy@amazon.com> Co-authored-by: aviruthen <91846056+aviruthen@users.noreply.github.com>
1 parent 0ed6e45 commit b7c21a5

11 files changed

Lines changed: 38 additions & 40 deletions

File tree

src/sagemaker/estimator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1350,7 +1350,7 @@ def latest_job_profiler_artifacts_path(self):
13501350
)
13511351
return None
13521352

1353-
@_telemetry_emitter(feature=Feature.ESTIMATOR, func_name="estimator.fit")
1353+
@_telemetry_emitter(feature=Feature.ESTIMATOR_V2, func_name="estimator.fit")
13541354
@runnable_by_pipeline
13551355
def fit(
13561356
self,

src/sagemaker/experiments/experiment.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ def load(cls, experiment_name, sagemaker_session=None):
9595
)
9696

9797
@classmethod
98-
@_telemetry_emitter(feature=Feature.MLOPS, func_name="experiment.create")
98+
@_telemetry_emitter(feature=Feature.MLOPS_V2, func_name="experiment.create")
9999
def create(
100100
cls,
101101
experiment_name,

src/sagemaker/jumpstart/estimator.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ class JumpStartEstimator(Estimator):
6262
This class sets defaults based on the model ID and version.
6363
"""
6464

65-
@_telemetry_emitter(feature=Feature.JUMPSTART, func_name="jumpstart_estimator.create")
65+
@_telemetry_emitter(feature=Feature.JUMPSTART_V2, func_name="jumpstart_estimator.create")
6666
def __init__(
6767
self,
6868
model_id: Optional[str] = None,
@@ -649,7 +649,7 @@ def _validate_model_id_and_get_type_hook():
649649

650650
super(JumpStartEstimator, self).__init__(**estimator_init_kwargs.to_kwargs_dict())
651651

652-
@_telemetry_emitter(feature=Feature.JUMPSTART, func_name="jumpstart_estimator.fit")
652+
@_telemetry_emitter(feature=Feature.JUMPSTART_V2, func_name="jumpstart_estimator.fit")
653653
def fit(
654654
self,
655655
inputs: Optional[Union[str, Dict, TrainingInput, FileSystemInput]] = None,
@@ -837,7 +837,7 @@ def attach(
837837
additional_kwargs=additional_kwargs,
838838
)
839839

840-
@_telemetry_emitter(feature=Feature.JUMPSTART, func_name="jumpstart_estimator.deploy")
840+
@_telemetry_emitter(feature=Feature.JUMPSTART_V2, func_name="jumpstart_estimator.deploy")
841841
def deploy(
842842
self,
843843
initial_instance_count: Optional[int] = None,

src/sagemaker/jumpstart/model.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ class JumpStartModel(Model):
8686
This class sets defaults based on the model ID and version.
8787
"""
8888

89-
@_telemetry_emitter(feature=Feature.JUMPSTART, func_name="jumpstart_model.create")
89+
@_telemetry_emitter(feature=Feature.JUMPSTART_V2, func_name="jumpstart_model.create")
9090
def __init__(
9191
self,
9292
model_id: Optional[str] = None,
@@ -643,7 +643,7 @@ def _create_sagemaker_model(
643643
**kwargs,
644644
)
645645

646-
@_telemetry_emitter(feature=Feature.JUMPSTART, func_name="jumpstart_model.deploy")
646+
@_telemetry_emitter(feature=Feature.JUMPSTART_V2, func_name="jumpstart_model.deploy")
647647
def deploy(
648648
self,
649649
initial_instance_count: Optional[int] = None,

src/sagemaker/local/local_session.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ def __init__(self, sagemaker_session=None):
8585
"""
8686
self.sagemaker_session = sagemaker_session or LocalSession()
8787

88-
@_telemetry_emitter(Feature.LOCAL_MODE, "local_session.create_processing_job")
88+
@_telemetry_emitter(Feature.LOCAL_MODE_V2, "local_session.create_processing_job")
8989
def create_processing_job(
9090
self,
9191
ProcessingJobName,
@@ -168,7 +168,7 @@ def describe_processing_job(self, ProcessingJobName):
168168
raise ClientError(error_response, "describe_processing_job")
169169
return LocalSagemakerClient._processing_jobs[ProcessingJobName].describe()
170170

171-
@_telemetry_emitter(Feature.LOCAL_MODE, "local_session.create_training_job")
171+
@_telemetry_emitter(Feature.LOCAL_MODE_V2, "local_session.create_training_job")
172172
def create_training_job(
173173
self,
174174
TrainingJobName,
@@ -239,7 +239,7 @@ def describe_training_job(self, TrainingJobName):
239239
raise ClientError(error_response, "describe_training_job")
240240
return LocalSagemakerClient._training_jobs[TrainingJobName].describe()
241241

242-
@_telemetry_emitter(Feature.LOCAL_MODE, "local_session.create_transform_job")
242+
@_telemetry_emitter(Feature.LOCAL_MODE_V2, "local_session.create_transform_job")
243243
def create_transform_job(
244244
self,
245245
TransformJobName,
@@ -285,7 +285,7 @@ def describe_transform_job(self, TransformJobName):
285285
raise ClientError(error_response, "describe_transform_job")
286286
return LocalSagemakerClient._transform_jobs[TransformJobName].describe()
287287

288-
@_telemetry_emitter(Feature.LOCAL_MODE, "local_session.create_model")
288+
@_telemetry_emitter(Feature.LOCAL_MODE_V2, "local_session.create_model")
289289
def create_model(
290290
self, ModelName, PrimaryContainer, *args, **kwargs
291291
): # pylint: disable=unused-argument
@@ -335,7 +335,7 @@ def describe_endpoint_config(self, EndpointConfigName):
335335
raise ClientError(error_response, "describe_endpoint_config")
336336
return LocalSagemakerClient._endpoint_configs[EndpointConfigName].describe()
337337

338-
@_telemetry_emitter(Feature.LOCAL_MODE, "local_session.create_endpoint_config")
338+
@_telemetry_emitter(Feature.LOCAL_MODE_V2, "local_session.create_endpoint_config")
339339
def create_endpoint_config(self, EndpointConfigName, ProductionVariants, Tags=None):
340340
"""Create the endpoint configuration.
341341
@@ -367,7 +367,7 @@ def describe_endpoint(self, EndpointName):
367367
raise ClientError(error_response, "describe_endpoint")
368368
return LocalSagemakerClient._endpoints[EndpointName].describe()
369369

370-
@_telemetry_emitter(Feature.LOCAL_MODE, "local_session.create_endpoint")
370+
@_telemetry_emitter(Feature.LOCAL_MODE_V2, "local_session.create_endpoint")
371371
def create_endpoint(self, EndpointName, EndpointConfigName, Tags=None):
372372
"""Create the endpoint.
373373
@@ -436,7 +436,7 @@ def delete_model(self, ModelName):
436436
if ModelName in LocalSagemakerClient._models:
437437
del LocalSagemakerClient._models[ModelName]
438438

439-
@_telemetry_emitter(Feature.LOCAL_MODE, "local_session.create_pipeline")
439+
@_telemetry_emitter(Feature.LOCAL_MODE_V2, "local_session.create_pipeline")
440440
def create_pipeline(
441441
self, pipeline, pipeline_description, **kwargs # pylint: disable=unused-argument
442442
):

src/sagemaker/modules/train/model_trainer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -807,7 +807,7 @@ def _create_training_job_args(
807807
args["session_chaining_config"] = self._session_chaining_config
808808
return args
809809

810-
@_telemetry_emitter(feature=Feature.MODEL_TRAINER, func_name="model_trainer.train")
810+
@_telemetry_emitter(feature=Feature.MODEL_TRAINER_V2, func_name="model_trainer.train")
811811
@validate_call
812812
def train(
813813
self,

src/sagemaker/remote_function/client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
logger = logging_config.get_logger()
6060

6161

62-
@_telemetry_emitter(feature=Feature.REMOTE_FUNCTION, func_name="remote_function.remote")
62+
@_telemetry_emitter(feature=Feature.REMOTE_FUNCTION_V2, func_name="remote_function.remote")
6363
def remote(
6464
_func=None,
6565
*,

src/sagemaker/telemetry/constants.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,14 @@
2222
class Feature(Enum):
2323
"""Enumeration of feature names used in telemetry."""
2424

25-
SDK_DEFAULTS = 1
26-
LOCAL_MODE = 2
27-
REMOTE_FUNCTION = 3
28-
MODEL_TRAINER = 4
29-
ESTIMATOR = 5
30-
HYPERPOD = 6 # Added to support telemetry in sagemaker-hyperpod-cli
25+
SDK_DEFAULTS_V2 = 1
26+
LOCAL_MODE_V2 = 2
27+
REMOTE_FUNCTION_V2 = 3
28+
MODEL_TRAINER_V2 = 4
29+
ESTIMATOR_V2 = 5
3130
# Note: HyperPod CLI uses codes 6 and 7
32-
JUMPSTART = 8 # Added to support JumpStart telemetry
33-
MLOPS = 9 # Added to support MLOps telemetry
31+
JUMPSTART_V2 = 8 # Added to support JumpStart telemetry
32+
MLOPS_V2 = 9 # Added to support MLOps telemetry
3433

3534
def __str__(self): # pylint: disable=E0307
3635
"""Return the feature name."""

src/sagemaker/telemetry/telemetry_logging.py

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,14 @@
5050
)
5151

5252
FEATURE_TO_CODE = {
53-
str(Feature.SDK_DEFAULTS): 1,
54-
str(Feature.LOCAL_MODE): 2,
55-
str(Feature.REMOTE_FUNCTION): 3,
56-
str(Feature.MODEL_TRAINER): 4,
57-
str(Feature.ESTIMATOR): 5,
58-
str(Feature.HYPERPOD): 6, # Added to support telemetry in sagemaker-hyperpod-cli
53+
str(Feature.SDK_DEFAULTS_V2): 1,
54+
str(Feature.LOCAL_MODE_V2): 2,
55+
str(Feature.REMOTE_FUNCTION_V2): 3,
56+
str(Feature.MODEL_TRAINER_V2): 4,
57+
str(Feature.ESTIMATOR_V2): 5,
5958
# Note: HyperPod CLI uses codes 6 and 7
60-
str(Feature.JUMPSTART): 8,
61-
str(Feature.MLOPS): 9,
59+
str(Feature.JUMPSTART_V2): 8,
60+
str(Feature.MLOPS_V2): 9,
6261
}
6362

6463
STATUS_TO_CODE = {
@@ -84,7 +83,7 @@ def wrapper(*args, **kwargs):
8483
if len(args) > 0 and hasattr(args[0], "sagemaker_session"):
8584
# Get the sagemaker_session from the instance method args
8685
sagemaker_session = args[0].sagemaker_session
87-
elif feature == Feature.REMOTE_FUNCTION:
86+
elif feature == Feature.REMOTE_FUNCTION_V2:
8887
# Get the sagemaker_session from the function keyword arguments for remote function
8988
sagemaker_session = kwargs.get(
9089
"sagemaker_session", _get_default_sagemaker_session()
@@ -112,16 +111,16 @@ def wrapper(*args, **kwargs):
112111
if (
113112
hasattr(sagemaker_session, "sagemaker_config")
114113
and sagemaker_session.sagemaker_config
115-
and feature != Feature.SDK_DEFAULTS
114+
and feature != Feature.SDK_DEFAULTS_V2
116115
):
117-
feature_list.append(FEATURE_TO_CODE[str(Feature.SDK_DEFAULTS)])
116+
feature_list.append(FEATURE_TO_CODE[str(Feature.SDK_DEFAULTS_V2)])
118117

119118
if (
120119
hasattr(sagemaker_session, "local_mode")
121120
and sagemaker_session.local_mode
122-
and feature != Feature.LOCAL_MODE
121+
and feature != Feature.LOCAL_MODE_V2
123122
):
124-
feature_list.append(FEATURE_TO_CODE[str(Feature.LOCAL_MODE)])
123+
feature_list.append(FEATURE_TO_CODE[str(Feature.LOCAL_MODE_V2)])
125124

126125
# Construct the extra info to track platform and environment usage metadata
127126
extra = (

src/sagemaker/workflow/pipeline.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ def latest_pipeline_version_id(self):
136136
else:
137137
return summaries[0].get("PipelineVersionId")
138138

139-
@_telemetry_emitter(feature=Feature.MLOPS, func_name="pipeline.create")
139+
@_telemetry_emitter(feature=Feature.MLOPS_V2, func_name="pipeline.create")
140140
def create(
141141
self,
142142
role_arn: str = None,
@@ -345,7 +345,7 @@ def delete(self) -> Dict[str, Any]:
345345
)
346346
return self.sagemaker_session.sagemaker_client.delete_pipeline(PipelineName=self.name)
347347

348-
@_telemetry_emitter(feature=Feature.MLOPS, func_name="pipeline.start")
348+
@_telemetry_emitter(feature=Feature.MLOPS_V2, func_name="pipeline.start")
349349
def start(
350350
self,
351351
parameters: Dict[str, Union[str, bool, int, float]] = None,

0 commit comments

Comments
 (0)