/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SageMaker { namespace Model { /** *

Configuration information for Amazon SageMaker Debugger system monitoring, * framework profiling, and storage paths.

See Also:

AWS * API Reference

*/ class ProfilerConfig { public: AWS_SAGEMAKER_API ProfilerConfig(); AWS_SAGEMAKER_API ProfilerConfig(Aws::Utils::Json::JsonView jsonValue); AWS_SAGEMAKER_API ProfilerConfig& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Path to Amazon S3 storage location for system and framework metrics.

*/ inline const Aws::String& GetS3OutputPath() const{ return m_s3OutputPath; } /** *

Path to Amazon S3 storage location for system and framework metrics.

*/ inline bool S3OutputPathHasBeenSet() const { return m_s3OutputPathHasBeenSet; } /** *

Path to Amazon S3 storage location for system and framework metrics.

*/ inline void SetS3OutputPath(const Aws::String& value) { m_s3OutputPathHasBeenSet = true; m_s3OutputPath = value; } /** *

Path to Amazon S3 storage location for system and framework metrics.

*/ inline void SetS3OutputPath(Aws::String&& value) { m_s3OutputPathHasBeenSet = true; m_s3OutputPath = std::move(value); } /** *

Path to Amazon S3 storage location for system and framework metrics.

*/ inline void SetS3OutputPath(const char* value) { m_s3OutputPathHasBeenSet = true; m_s3OutputPath.assign(value); } /** *

Path to Amazon S3 storage location for system and framework metrics.

*/ inline ProfilerConfig& WithS3OutputPath(const Aws::String& value) { SetS3OutputPath(value); return *this;} /** *

Path to Amazon S3 storage location for system and framework metrics.

*/ inline ProfilerConfig& WithS3OutputPath(Aws::String&& value) { SetS3OutputPath(std::move(value)); return *this;} /** *

Path to Amazon S3 storage location for system and framework metrics.

*/ inline ProfilerConfig& WithS3OutputPath(const char* value) { SetS3OutputPath(value); return *this;} /** *

A time interval for capturing system metrics in milliseconds. Available * values are 100, 200, 500, 1000 (1 second), 5000 (5 seconds), and 60000 (1 * minute) milliseconds. The default value is 500 milliseconds.

*/ inline long long GetProfilingIntervalInMilliseconds() const{ return m_profilingIntervalInMilliseconds; } /** *

A time interval for capturing system metrics in milliseconds. Available * values are 100, 200, 500, 1000 (1 second), 5000 (5 seconds), and 60000 (1 * minute) milliseconds. The default value is 500 milliseconds.

*/ inline bool ProfilingIntervalInMillisecondsHasBeenSet() const { return m_profilingIntervalInMillisecondsHasBeenSet; } /** *

A time interval for capturing system metrics in milliseconds. Available * values are 100, 200, 500, 1000 (1 second), 5000 (5 seconds), and 60000 (1 * minute) milliseconds. The default value is 500 milliseconds.

*/ inline void SetProfilingIntervalInMilliseconds(long long value) { m_profilingIntervalInMillisecondsHasBeenSet = true; m_profilingIntervalInMilliseconds = value; } /** *

A time interval for capturing system metrics in milliseconds. Available * values are 100, 200, 500, 1000 (1 second), 5000 (5 seconds), and 60000 (1 * minute) milliseconds. The default value is 500 milliseconds.

*/ inline ProfilerConfig& WithProfilingIntervalInMilliseconds(long long value) { SetProfilingIntervalInMilliseconds(value); return *this;} /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline const Aws::Map& GetProfilingParameters() const{ return m_profilingParameters; } /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline bool ProfilingParametersHasBeenSet() const { return m_profilingParametersHasBeenSet; } /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline void SetProfilingParameters(const Aws::Map& value) { m_profilingParametersHasBeenSet = true; m_profilingParameters = value; } /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline void SetProfilingParameters(Aws::Map&& value) { m_profilingParametersHasBeenSet = true; m_profilingParameters = std::move(value); } /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline ProfilerConfig& WithProfilingParameters(const Aws::Map& value) { SetProfilingParameters(value); return *this;} /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline ProfilerConfig& WithProfilingParameters(Aws::Map&& value) { SetProfilingParameters(std::move(value)); return *this;} /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline ProfilerConfig& AddProfilingParameters(const Aws::String& key, const Aws::String& value) { m_profilingParametersHasBeenSet = true; m_profilingParameters.emplace(key, value); return *this; } /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline ProfilerConfig& AddProfilingParameters(Aws::String&& key, const Aws::String& value) { m_profilingParametersHasBeenSet = true; m_profilingParameters.emplace(std::move(key), value); return *this; } /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline ProfilerConfig& AddProfilingParameters(const Aws::String& key, Aws::String&& value) { m_profilingParametersHasBeenSet = true; m_profilingParameters.emplace(key, std::move(value)); return *this; } /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline ProfilerConfig& AddProfilingParameters(Aws::String&& key, Aws::String&& value) { m_profilingParametersHasBeenSet = true; m_profilingParameters.emplace(std::move(key), std::move(value)); return *this; } /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline ProfilerConfig& AddProfilingParameters(const char* key, Aws::String&& value) { m_profilingParametersHasBeenSet = true; m_profilingParameters.emplace(key, std::move(value)); return *this; } /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline ProfilerConfig& AddProfilingParameters(Aws::String&& key, const char* value) { m_profilingParametersHasBeenSet = true; m_profilingParameters.emplace(std::move(key), value); return *this; } /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline ProfilerConfig& AddProfilingParameters(const char* key, const char* value) { m_profilingParametersHasBeenSet = true; m_profilingParameters.emplace(key, value); return *this; } /** *

Configuration to turn off Amazon SageMaker Debugger's system monitoring and * profiling functionality. To turn it off, set to True.

*/ inline bool GetDisableProfiler() const{ return m_disableProfiler; } /** *

Configuration to turn off Amazon SageMaker Debugger's system monitoring and * profiling functionality. To turn it off, set to True.

*/ inline bool DisableProfilerHasBeenSet() const { return m_disableProfilerHasBeenSet; } /** *

Configuration to turn off Amazon SageMaker Debugger's system monitoring and * profiling functionality. To turn it off, set to True.

*/ inline void SetDisableProfiler(bool value) { m_disableProfilerHasBeenSet = true; m_disableProfiler = value; } /** *

Configuration to turn off Amazon SageMaker Debugger's system monitoring and * profiling functionality. To turn it off, set to True.

*/ inline ProfilerConfig& WithDisableProfiler(bool value) { SetDisableProfiler(value); return *this;} private: Aws::String m_s3OutputPath; bool m_s3OutputPathHasBeenSet = false; long long m_profilingIntervalInMilliseconds; bool m_profilingIntervalInMillisecondsHasBeenSet = false; Aws::Map m_profilingParameters; bool m_profilingParametersHasBeenSet = false; bool m_disableProfiler; bool m_disableProfilerHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws