Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"config": {
"template": "golden-path-mountebank-fargate-v10-16-2023"
},
"definitions": {
"config_revision": true
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"definitions": {
"cw_endpoint": "logs.us-west-2.amazonaws.com",
"cw_use_mock": false,
"kbps_throughput_tcp_application": 1,
"kbps_throughput_tcp_request": 1,
"kbps_throughput_tcp_service": 1,
"kbps_throughput_forward": 1,
"cw_auto_create_group": true
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"config": {
"template": "golden-path-mountebank-fargate-v10-16-2023"
},
"definitions": {
"config_revision": true
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"config": {
"template": "golden-path-mountebank-fargate-v10-16-2023"
},
"definitions": {
"config_revision": false
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"definitions": {
"cw_is_down": true,
"include_onepod": false
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"definitions": {
"cw_is_down": false,
"include_onepod": false
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"definitions": {
"cw_is_down": true,
"include_onepod": true,
"kbps_throughput_tcp_application": 1,
"kbps_throughput_tcp_request": 1,
"kbps_throughput_tcp_service": 1,
"kbps_throughput_forward": 1
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"definitions": {
"cw_is_down": true,
"include_onepod": true
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"definitions": {
"cw_is_down": false,
"include_onepod": true,
"kbps_throughput_tcp_application": 1,
"kbps_throughput_tcp_request": 1,
"kbps_throughput_tcp_service": 1,
"kbps_throughput_forward": 1
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"definitions": {
"cw_is_down": false,
"include_onepod": true
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"definitions": {
"testId": "{{managed.suiteName}}-{{managed.caseName}}",
"ServiceName": "{{managed.executionName}}-{{managed.executionId}}",
"segfault": false
},
"config": {
"cluster": "{{managed.executionName}}-{{managed.executionId}}-{{managed.collectionName}}",
"taskCount": 1,
"adot_enable": true,
"kbps_throughput_tcp_application": 5000,
"kbps_throughput_tcp_request": 5000,
"kbps_throughput_tcp_service": 5000,
"kbps_throughput_forward": 5000,
"datajet_generator_basic_contentType": "uniform"
}
}
7 changes: 5 additions & 2 deletions apps/firelens-stability/execution.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
{
"executionName": "2_31_12_20230911",
"executionName": "r2-golden-path-10-16-2023-revision-single-2_31_12_20230911",
"executeCollections": [
"ecs-firelens-stability-tests"
"ecs-golden-path-single"
],
"definitions": {
"imageAwsForFluentBit": "public.ecr.aws/aws-observability/aws-for-fluent-bit:init-debug-2.31.12.20230911"
},
"config": {
"template": "golden-path-mountebank-fargate-v10-16-2023"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ export function generateOrderdedWidgetsFromTestCases(testCases: ITestCase[]) {
path: path,
widgets: mergedList,
};
})
});

/* Sort paths */
const sortedLists = dashboardWidgetGroups.sort((a, b) => a.path.localeCompare(b.path));
Expand Down
11 changes: 7 additions & 4 deletions apps/firelens-stability/lib/helpers/start-execution-stages.ts
Original file line number Diff line number Diff line change
Expand Up @@ -180,17 +180,20 @@ export async function hydrateTestCaseSeed(testCaseSeed: ITestCaseSeed):
const layer4Config = cascadeConfigurationStringAsExtension(testCaseSeed.caseConfigSeed, layer3Config);
const layer5Config = cascadeConfigurationStringAsExtension(testCaseSeed.caseSeed, layer4Config);

/* Apply execution config before and after template to ensure overrides are set - allow set template */
const layer6Config = cascadeConfigurationStringAsExtension(testCaseSeed.executionConfigSeed, layer5Config);

/* Get template */
const templateName = layer5Config.config.template;
const templateName = layer6Config.config.template;
if (!templateName) {
validateTestConfig(layer5Config);
validateTestConfig(layer6Config);
}
const templateConfigPath = Path.join(Constants.paths.templates, templateName, Constants.fileNames.templateDefaultConfig);
const templateConfig = await getStringFromFile(templateConfigPath);
const layer6Config = cascadeConfigurationStringAsDefault(templateConfig, layer5Config);
const layer7Config = cascadeConfigurationStringAsDefault(templateConfig, layer6Config);

/* Final layer of configuration from execution seed. These function as overrides. */
const config = cascadeConfigurationStringAsExtension(testCaseSeed.executionConfigSeed, layer6Config);
const config = cascadeConfigurationStringAsExtension(testCaseSeed.executionConfigSeed, layer7Config);

validateTestConfig(config);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,10 @@ export async function copyAndTemplateFile(
destinationFile: string,
config: any) {
const rawFileString = await getStringFromFile(sourceFile);
const templatedFileString = evaluateTemplateString(rawFileString, config);
const templatedFileString = evaluateTemplateString(rawFileString, {
// definitions get set to high level for file replacements
...(config?.definitions ?? {}),
...config
});
await sendStringToFile(templatedFileString, destinationFile);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,219 @@
extensions:
health_check:

receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
awsxray:
endpoint: 0.0.0.0:2000
transport: udp
statsd:
endpoint: 0.0.0.0:8125
aggregation_interval: 60s
awsecscontainermetrics:

processors:
batch/traces:
timeout: 1s
send_batch_size: 50
batch/metrics:
timeout: 60s
filter:
metrics:
include:
match_type: strict
metric_names:
- container.memory.reserved
- container.memory.utilized
- container.cpu.reserved
- container.cpu.utilized
- container.network.rate.rx
- container.network.rate.tx
- container.storage.read_bytes
- container.storage.write_bytes
- container.duration
metricstransform:
transforms:
- include: container.memory.utilized
action: update
new_name: MemoryUtilized
- include: container.memory.reserved
action: update
new_name: MemoryReserved
- include: container.cpu.utilized
action: update
new_name: CpuUtilized
- include: container.cpu.reserved
action: update
new_name: CpuReserved
- include: container.network.rate.rx
action: update
new_name: NetworkRxBytes
- include: container.network.rate.tx
action: update
new_name: NetworkTxBytes
- include: container.storage.read_bytes
action: update
new_name: StorageReadBytes
- include: container.storage.write_bytes
action: update
new_name: StorageWriteBytes

resource:
attributes:
- key: ClusterName
from_attribute: aws.ecs.cluster.name
action: insert
- key: aws.ecs.cluster.name
action: delete
- key: ServiceName
from_attribute: aws.ecs.service.name
action: insert
- key: aws.ecs.service.name
action: delete
- key: TaskId
from_attribute: aws.ecs.task.id
action: insert
- key: aws.ecs.task.id
action: delete
- key: TaskDefinitionFamily
from_attribute: aws.ecs.task.family
action: insert
- key: aws.ecs.task.family
action: delete
- key: TaskARN
from_attribute: aws.ecs.task.arn
action: insert
- key: aws.ecs.task.arn
action: delete
- key: DockerName
from_attribute: aws.ecs.docker.name
action: insert
- key: aws.ecs.docker.name
action: delete
- key: TaskDefinitionRevision
from_attribute: aws.ecs.task.version
action: insert
- key: aws.ecs.task.version
action: delete
- key: PullStartedAt
from_attribute: aws.ecs.task.pull_started_at
action: insert
- key: aws.ecs.task.pull_started_at
action: delete
- key: PullStoppedAt
from_attribute: aws.ecs.task.pull_stopped_at
action: insert
- key: aws.ecs.task.pull_stopped_at
action: delete
- key: AvailabilityZone
from_attribute: cloud.zone
action: insert
- key: cloud.zone
action: delete
- key: LaunchType
from_attribute: aws.ecs.task.launch_type
action: insert
- key: aws.ecs.task.launch_type
action: delete
- key: Region
from_attribute: cloud.region
action: insert
- key: cloud.region
action: delete
- key: AccountId
from_attribute: cloud.account.id
action: insert
- key: cloud.account.id
action: delete
- key: DockerId
from_attribute: container.id
action: insert
- key: container.id
action: delete
- key: ContainerName
from_attribute: container.name
action: insert
- key: container.name
action: delete
- key: Image
from_attribute: container.image.name
action: insert
- key: container.image.name
action: delete
- key: ImageId
from_attribute: aws.ecs.container.image.id
action: insert
- key: aws.ecs.container.image.id
action: delete
- key: ExitCode
from_attribute: aws.ecs.container.exit_code
action: insert
- key: aws.ecs.container.exit_code
action: delete
- key: CreatedAt
from_attribute: aws.ecs.container.created_at
action: insert
- key: aws.ecs.container.created_at
action: delete
- key: StartedAt
from_attribute: aws.ecs.container.started_at
action: insert
- key: aws.ecs.container.started_at
action: delete
- key: FinishedAt
from_attribute: aws.ecs.container.finished_at
action: insert
- key: aws.ecs.container.finished_at
action: delete
- key: ImageTag
from_attribute: container.image.tag
action: insert
- key: container.image.tag
action: delete

exporters:
awsxray:
awsemf/application:
namespace: ECS/AWSOTel/Application
log_group_name: '/aws/ecs/application/metrics'
awsemf/performance:
namespace: {{managed.executionName}}/{{managed.collectionName}}/{{managed.executionId}}
log_group_name: '/aws/ecs/containerinsights/{ClusterName}/performance'
log_stream_name: '{TaskId}'
resource_to_telemetry_conversion:
enabled: true
dimension_rollup_option: NoDimensionRollup
metric_declarations:
- dimensions: [ [ ClusterName ], [ ClusterName, TaskDefinitionFamily, TaskId, ContainerName ] ]
metric_name_selectors:
- MemoryUtilized
- MemoryReserved
- CpuUtilized
- CpuReserved
- NetworkRxBytes
- NetworkTxBytes
- StorageReadBytes
- StorageWriteBytes
- metric_name_selectors: [container.*]

service:
pipelines:
traces:
receivers: [otlp,awsxray]
processors: [batch/traces]
exporters: [awsxray]
metrics/application:
receivers: [otlp, statsd]
processors: [batch/metrics]
exporters: [awsemf/application]
metrics/performance:
receivers: [awsecscontainermetrics ]
processors: [filter, metricstransform, resource]
exporters: [ awsemf/performance ]

extensions: [health_check]
Loading