Skip to content
GitHubXDiscord

ProfilingGroup

The ProfilingGroup resource lets you manage AWS CodeGuruProfiler ProfilingGroups to monitor and optimize your applications’ performance.

Create a basic profiling group with a name and a compute platform.

import AWS from "alchemy/aws/control";
const basicProfilingGroup = await AWS.CodeGuruProfiler.ProfilingGroup("basicProfilingGroup", {
ProfilingGroupName: "MyApplicationProfilingGroup",
ComputePlatform: "Default" // Specify platform as Default or EKS
});

Configure a profiling group with anomaly detection notifications and tags for better management.

const advancedProfilingGroup = await AWS.CodeGuruProfiler.ProfilingGroup("advancedProfilingGroup", {
ProfilingGroupName: "MyAdvancedProfilingGroup",
AnomalyDetectionNotificationConfiguration: [
{
Channel: {
Sns: {
TopicArn: "arn:aws:sns:us-west-2:123456789012:MySNSTopic"
}
}
}
],
Tags: [
{
Key: "Environment",
Value: "Production"
},
{
Key: "Application",
Value: "MyWebApp"
}
]
});

If you want to adopt an existing profiling group instead of failing when it already exists, use the adopt option.

const adoptProfilingGroup = await AWS.CodeGuruProfiler.ProfilingGroup("adoptProfilingGroup", {
ProfilingGroupName: "MyExistingProfilingGroup",
adopt: true // Enable adopting existing resource
});

Set agent permissions to control access for your profiling group.

const permissionProfilingGroup = await AWS.CodeGuruProfiler.ProfilingGroup("permissionProfilingGroup", {
ProfilingGroupName: "MyPermissionedProfilingGroup",
AgentPermissions: {
Allow: [
{
Principal: "arn:aws:iam::123456789012:role/MyProfilerRole",
Action: "codeguru-profiler:PutPermission",
Resource: "*"
}
]
}
});