packages/@aws-cdk/aws-applicationsignals-alpha/lib/enablement/instrumentation-versions.ts (38 lines of code) (raw):
/**
* Base class for instrumentation versions.
* Provides functionality to generate image URIs for different instrumentation types.
*/
export abstract class InstrumentationVersion {
public constructor(protected readonly imageRepo: string, protected readonly version: string, protected readonly memoryLimit: number) { }
/**
* Get the image URI for the instrumentation version.
* @returns The image URI.
*/
public imageURI(): string {
return `${this.imageRepo}:${this.version}`;
}
/**
* Get the memory limit in MiB for the instrumentation version.
* @returns The memory limit
*/
public memoryLimitMiB(): number {
return this.memoryLimit;
}
}
/**
* Available versions for Java instrumentation.
*/
export class JavaInstrumentationVersion extends InstrumentationVersion {
/**
* The image repository for Java instrumentation.
*/
public static readonly IMAGE_REPO = 'public.ecr.aws/aws-observability/adot-autoinstrumentation-java';
/**
* The default memory limit of the Java instrumentation.
*/
public static readonly DEFAULT_MEMORY_LIMIT_MIB = 64;
/**
* ADOT Java Instrumentation version 2.10.0
*/
public static readonly V2_10_0 = new JavaInstrumentationVersion(JavaInstrumentationVersion.IMAGE_REPO, 'v2.10.0', JavaInstrumentationVersion.DEFAULT_MEMORY_LIMIT_MIB);
/**
* ADOT Java Instrumentation version 1.33.0
*/
public static readonly V1_33_0 = new JavaInstrumentationVersion(JavaInstrumentationVersion.IMAGE_REPO, 'v1.33.0', JavaInstrumentationVersion.DEFAULT_MEMORY_LIMIT_MIB);
/**
* ADOT Java Instrumentation version 1.32.6
*/
public static readonly V1_32_6 = new JavaInstrumentationVersion(JavaInstrumentationVersion.IMAGE_REPO, 'v1.32.6', JavaInstrumentationVersion.DEFAULT_MEMORY_LIMIT_MIB);
}
/**
* Available versions for .NET instrumentation.
*/
/**
* Available versions for Python instrumentation.
*/
export class PythonInstrumentationVersion extends InstrumentationVersion {
/**
* The image repository for Python instrumentation.
*/
public static readonly IMAGE_REPO = 'public.ecr.aws/aws-observability/adot-autoinstrumentation-python';
/**
* The default memory limit of the Python instrumentation.
*/
public static readonly DEFAULT_MEMORY_LIMIT_MIB = 32;
/**
* ADOT Python Instrumentation version 0.8.0
*/
public static readonly V0_8_0 = new PythonInstrumentationVersion(PythonInstrumentationVersion.IMAGE_REPO, 'v0.8.0', PythonInstrumentationVersion.DEFAULT_MEMORY_LIMIT_MIB);
/**
* ADOT Python Instrumentation version 0.8.0
*/
public static readonly V0_9_0 = new PythonInstrumentationVersion(PythonInstrumentationVersion.IMAGE_REPO, 'v0.9.0', PythonInstrumentationVersion.DEFAULT_MEMORY_LIMIT_MIB);
}
/**
* Available versions for .NET instrumentation.
*/
export class DotnetInstrumentationVersion extends InstrumentationVersion {
/**
* The image repository for .NET instrumentation.
*/
public static readonly IMAGE_REPO = 'public.ecr.aws/aws-observability/adot-autoinstrumentation-dotnet';
/**
* The default memory limit of the .NET instrumentation.
*/
public static readonly DEFAULT_MEMORY_LIMIT_MIB = 128;
/**
* ADOT .NET Instrumentation version 1.6.0
*/
public static readonly V1_6_0 = new DotnetInstrumentationVersion(DotnetInstrumentationVersion.IMAGE_REPO, 'v1.6.0', DotnetInstrumentationVersion.DEFAULT_MEMORY_LIMIT_MIB);
/**
* ADOT .NET Instrumentation version 1.6.0 for Windows 2022
*/
public static readonly V1_6_0_WINDOWS2022 = new DotnetInstrumentationVersion(DotnetInstrumentationVersion.IMAGE_REPO, 'v1.6.0-windows2022', DotnetInstrumentationVersion.DEFAULT_MEMORY_LIMIT_MIB);
/**
* ADOT .NET Instrumentation version 1.6.0 for Windows 2019
*/
public static readonly V1_6_0_WINDOWS2019 = new DotnetInstrumentationVersion(DotnetInstrumentationVersion.IMAGE_REPO, 'v1.6.0-windows2019', DotnetInstrumentationVersion.DEFAULT_MEMORY_LIMIT_MIB);
/**
* ADOT .NET Instrumentation version 1.7.0
*/
public static readonly V1_7_0 = new DotnetInstrumentationVersion(DotnetInstrumentationVersion.IMAGE_REPO, 'v1.7.0', DotnetInstrumentationVersion.DEFAULT_MEMORY_LIMIT_MIB);
/**
* ADOT .NET Instrumentation version 1.7.0 for Windows 2022
*/
public static readonly V1_7_0_WINDOWS2022 = new DotnetInstrumentationVersion(DotnetInstrumentationVersion.IMAGE_REPO, 'v1.7.0-windows2022', DotnetInstrumentationVersion.DEFAULT_MEMORY_LIMIT_MIB);
/**
* ADOT .NET Instrumentation version 1.7.0 for Windows 2019
*/
public static readonly V1_7_0_WINDOWS2019 = new DotnetInstrumentationVersion(DotnetInstrumentationVersion.IMAGE_REPO, 'v1.7.0-windows2019', DotnetInstrumentationVersion.DEFAULT_MEMORY_LIMIT_MIB);
}
/**
* Available versions for Node.js instrumentation.
*/
export class NodeInstrumentationVersion extends InstrumentationVersion {
/**
* The image repository for Node.js instrumentation.
*/
public static readonly IMAGE_REPO = 'public.ecr.aws/aws-observability/adot-autoinstrumentation-node';
/**
* The default memory limit of the Node.js instrumentation.
*/
public static readonly DEFAULT_MEMORY_LIMIT_MIB = 128;
/**
* ADOT Node.js Instrumentation version 0.5.0
*/
public static readonly V0_5_0 = new NodeInstrumentationVersion(NodeInstrumentationVersion.IMAGE_REPO, 'v0.5.0', NodeInstrumentationVersion.DEFAULT_MEMORY_LIMIT_MIB);
/**
* ADOT Node.js Instrumentation version 0.6.0
*/
public static readonly V0_6_0 = new NodeInstrumentationVersion(NodeInstrumentationVersion.IMAGE_REPO, 'v0.6.0', NodeInstrumentationVersion.DEFAULT_MEMORY_LIMIT_MIB);
}