class PythonInstrumentationVersion
| Language | Type name | 
|---|---|
  .NET | Amazon.CDK.AWS.ApplicationSignals.Alpha.PythonInstrumentationVersion | 
  Go | github.com/aws/aws-cdk-go/awscdkapplicationsignalsalpha/v2#PythonInstrumentationVersion | 
  Java | software.amazon.awscdk.services.applicationsignals.alpha.PythonInstrumentationVersion | 
  Python | aws_cdk.aws_applicationsignals_alpha.PythonInstrumentationVersion | 
  TypeScript (source) | @aws-cdk/aws-applicationsignals-alpha ยป PythonInstrumentationVersion | 
Extends
Instrumentation
Available versions for Python instrumentation.
Example
import { Construct } from 'constructs';
import * as appsignals from '@aws-cdk/aws-applicationsignals-alpha';
import * as cdk from 'aws-cdk-lib';
import * as ec2 from 'aws-cdk-lib/aws-ec2';
import * as ecs from 'aws-cdk-lib/aws-ecs';
class MyStack extends cdk.Stack {
  public constructor(scope?: Construct, id?: string, props: cdk.StackProps = {}) {
    super(scope, id, props);
    const vpc = new ec2.Vpc(this, 'TestVpc', {});
    const cluster = new ecs.Cluster(this, 'TestCluster', { vpc });
    // Define Task Definition for CloudWatch agent (Daemon)
    const cwAgentTaskDefinition = new ecs.Ec2TaskDefinition(this, 'CloudWatchAgentTaskDefinition', {
      networkMode: ecs.NetworkMode.HOST,
    });
    new appsignals.CloudWatchAgentIntegration(this, 'CloudWatchAgentIntegration', {
      taskDefinition: cwAgentTaskDefinition,
      containerName: 'ecs-cwagent',
      enableLogging: false,
      cpu: 128,
      memoryLimitMiB: 64,
      portMappings: [
        {
          containerPort: 4316,
          hostPort: 4316,
        },
        {
          containerPort: 2000,
          hostPort: 2000,
        },
      ],
    });
    // Create the CloudWatch Agent daemon service
    new ecs.Ec2Service(this, 'CloudWatchAgentDaemon', {
      cluster,
      taskDefinition: cwAgentTaskDefinition,
      daemon: true,  // Runs one container per EC2 instance
    });
    // Define Task Definition for user application
    const sampleAppTaskDefinition = new ecs.Ec2TaskDefinition(this, 'SampleAppTaskDefinition', {
      networkMode: ecs.NetworkMode.HOST,
    });
    sampleAppTaskDefinition.addContainer('app', {
      image: ecs.ContainerImage.fromRegistry('test/sample-app'),
      cpu: 0,
      memoryLimitMiB: 512,
    });
    // No CloudWatch Agent side car is needed as application container communicates to CloudWatch Agent daemon through host network
    new appsignals.ApplicationSignalsIntegration(this, 'ApplicationSignalsIntegration', {
      taskDefinition: sampleAppTaskDefinition,
      instrumentation: {
        sdkVersion: appsignals.PythonInstrumentationVersion.V0_8_0
      },
      serviceName: 'sample-app'
    });
    new ecs.Ec2Service(this, 'MySampleApp', {
      cluster,
      taskDefinition: sampleAppTaskDefinition,
      desiredCount: 1,
    });
  }
}
Initializer
new PythonInstrumentationVersion(imageRepo: string, version: string, memoryLimit: number)
Parameters
- imageRepo 
string - version 
string - memoryLimit 
number 
Properties
| Name | Type | Description | 
|---|---|---|
| static DEFAULT_MEMORY_LIMIT_MIB | number | The default memory limit of the Python instrumentation. | 
| static IMAGE_REPO | string | The image repository for Python instrumentation. | 
| static V0_8_0 | Python | ADOT Python Instrumentation version 0.8.0. | 
| static V0_9_0 | Python | ADOT Python Instrumentation version 0.8.0. | 
static DEFAULT_MEMORY_LIMIT_MIB
Type:
number
The default memory limit of the Python instrumentation.
static IMAGE_REPO
Type:
string
The image repository for Python instrumentation.
static V0_8_0
Type:
Python
ADOT Python Instrumentation version 0.8.0.
static V0_9_0
Type:
Python
ADOT Python Instrumentation version 0.8.0.
Methods
| Name | Description | 
|---|---|
| image | Get the image URI for the instrumentation version. | 
| memory | Get the memory limit in MiB for the instrumentation version. | 
imageURI() 
public imageURI(): string
Returns
string
Get the image URI for the instrumentation version.
memoryLimitMiB()   
public memoryLimitMiB(): number
Returns
number
Get the memory limit in MiB for the instrumentation version.

 .NET
 Go
 Java
 Python
 TypeScript (