Class InstrumentationVersion
(experimental) Base class for instrumentation versions.
Inheritance
Namespace: Amazon.CDK.AWS.ApplicationSignals.Alpha
Assembly: Amazon.CDK.AWS.ApplicationSignals.Alpha.dll
Syntax (csharp)
public abstract class InstrumentationVersion : DeputyBase
Syntax (vb)
Public MustInherit Class InstrumentationVersion Inherits DeputyBase
Remarks
Provides functionality to generate image URIs for different instrumentation types.
Stability: Experimental
ExampleMetadata: infused
Examples
using Constructs;
using Amazon.CDK.AWS.ApplicationSignals.Alpha;
using Amazon.CDK;
using Amazon.CDK.AWS.EC2;
using Amazon.CDK.AWS.ECS;
class MyStack : Stack
{
public MyStack(Construct? scope=null, string? id=null, StackProps props=new StackProps { }) : base(scope, id, props)
{
var vpc = new Vpc(this, "TestVpc", new VpcProps { });
var cluster = new Cluster(this, "TestCluster", new ClusterProps { Vpc = vpc });
// Define Task Definition for CloudWatch agent (Daemon)
var cwAgentTaskDefinition = new Ec2TaskDefinition(this, "CloudWatchAgentTaskDefinition", new Ec2TaskDefinitionProps {
NetworkMode = NetworkMode.HOST
});
new CloudWatchAgentIntegration(this, "CloudWatchAgentIntegration", new CloudWatchAgentIntegrationProps {
TaskDefinition = cwAgentTaskDefinition,
ContainerName = "ecs-cwagent",
EnableLogging = false,
Cpu = 128,
MemoryLimitMiB = 64,
PortMappings = new [] { new PortMapping {
ContainerPort = 4316,
HostPort = 4316
}, new PortMapping {
ContainerPort = 2000,
HostPort = 2000
} }
});
// Create the CloudWatch Agent daemon service
// Create the CloudWatch Agent daemon service
new Ec2Service(this, "CloudWatchAgentDaemon", new Ec2ServiceProps {
Cluster = cluster,
TaskDefinition = cwAgentTaskDefinition,
Daemon = true
});
// Define Task Definition for user application
var sampleAppTaskDefinition = new Ec2TaskDefinition(this, "SampleAppTaskDefinition", new Ec2TaskDefinitionProps {
NetworkMode = NetworkMode.HOST
});
sampleAppTaskDefinition.AddContainer("app", new ContainerDefinitionOptions {
Image = 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
// No CloudWatch Agent side car is needed as application container communicates to CloudWatch Agent daemon through host network
new ApplicationSignalsIntegration(this, "ApplicationSignalsIntegration", new ApplicationSignalsIntegrationProps {
TaskDefinition = sampleAppTaskDefinition,
Instrumentation = new InstrumentationProps {
SdkVersion = PythonInstrumentationVersion.V0_8_0
},
ServiceName = "sample-app"
});
new Ec2Service(this, "MySampleApp", new Ec2ServiceProps {
Cluster = cluster,
TaskDefinition = sampleAppTaskDefinition,
DesiredCount = 1
});
}
}
Synopsis
Constructors
| InstrumentationVersion(string, string, double) | (experimental) Base class for instrumentation versions. |
Properties
| ImageRepo | (experimental) Base class for instrumentation versions. |
| MemoryLimit | (experimental) Base class for instrumentation versions. |
| Version | (experimental) Base class for instrumentation versions. |
Methods
| ImageURI() | (experimental) Get the image URI for the instrumentation version. |
| MemoryLimitMiB() | (experimental) Get the memory limit in MiB for the instrumentation version. |
Constructors
InstrumentationVersion(string, string, double)
(experimental) Base class for instrumentation versions.
protected InstrumentationVersion(string imageRepo, string version, double memoryLimit)
Parameters
Remarks
Stability: Experimental
Properties
ImageRepo
(experimental) Base class for instrumentation versions.
protected virtual string ImageRepo { get; }
Property Value
Remarks
Stability: Experimental
MemoryLimit
(experimental) Base class for instrumentation versions.
protected virtual double MemoryLimit { get; }
Property Value
Remarks
Stability: Experimental
Version
(experimental) Base class for instrumentation versions.
protected virtual string Version { get; }
Property Value
Remarks
Stability: Experimental
Methods
ImageURI()
(experimental) Get the image URI for the instrumentation version.
public virtual string ImageURI()
Returns
The image URI.
Remarks
Stability: Experimental
MemoryLimitMiB()
(experimental) Get the memory limit in MiB for the instrumentation version.
public virtual double MemoryLimitMiB()
Returns
The memory limit
Remarks
Stability: Experimental