-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(cloudwatch): Stats
factory class for metric strings
#23172
Conversation
The `Statistic` enum type was incorrectly publicly exposed (it should only have been visible internally to the package), and was enhanced in PR #23074 to have more enum values such as `P10`, `P50`, `P99_9`, etc. The stringification of this `Statistic` type would only have worked in TypeScript anyway (in JSII languages like Java and Python we cannot rely on the string values of enums), and the fact that enums cannot be parameterized made it so that we used to have a lot of redundant enum values. Introduce a new factory class, `Stats`, whose sole purpose is to produce formatted strings to use as CloudWatch `statistic` values, and advertise the use of this class. (We probably shouldn't have been using `string` as the type in the first place, but given that we are factories to produce them seems to be the next best thing).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! Thanks for catching this.
Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
The `Statistic` enum type was incorrectly publicly exposed (it should only have been visible internally to the package), and was enhanced in PR aws#23074 to have more enum values such as `P10`, `P50`, `P99_9`, etc. The stringification of this `Statistic` type would only have worked in TypeScript anyway (in JSII languages like Java and Python we cannot rely on the string values of enums), and the fact that enums cannot be parameterized made it so that we used to have a lot of redundant enum values. Deprecate the `Statistic` type, and introduce a new factory class, `Stats`, whose sole purpose is to produce formatted strings to use as CloudWatch `statistic` values, and advertise the use of this class. (We probably shouldn't have been using `string` as the type in the first place, but given that we are factories to produce them seems to be the next best thing). ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
The `Statistic` enum type was incorrectly publicly exposed (it should only have been visible internally to the package), and was enhanced in PR aws#23074 to have more enum values such as `P10`, `P50`, `P99_9`, etc. The stringification of this `Statistic` type would only have worked in TypeScript anyway (in JSII languages like Java and Python we cannot rely on the string values of enums), and the fact that enums cannot be parameterized made it so that we used to have a lot of redundant enum values. Deprecate the `Statistic` type, and introduce a new factory class, `Stats`, whose sole purpose is to produce formatted strings to use as CloudWatch `statistic` values, and advertise the use of this class. (We probably shouldn't have been using `string` as the type in the first place, but given that we are factories to produce them seems to be the next best thing). ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
The `Statistic` enum type was incorrectly publicly exposed (it should only have been visible internally to the package), and was enhanced in PR aws#23074 to have more enum values such as `P10`, `P50`, `P99_9`, etc. The stringification of this `Statistic` type would only have worked in TypeScript anyway (in JSII languages like Java and Python we cannot rely on the string values of enums), and the fact that enums cannot be parameterized made it so that we used to have a lot of redundant enum values. Deprecate the `Statistic` type, and introduce a new factory class, `Stats`, whose sole purpose is to produce formatted strings to use as CloudWatch `statistic` values, and advertise the use of this class. (We probably shouldn't have been using `string` as the type in the first place, but given that we are factories to produce them seems to be the next best thing). ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
The
Statistic
enum type was incorrectly publicly exposed (it should only have been visible internally to the package), and was enhanced in PR #23074 to have more enum values such asP10
,P50
,P99_9
, etc.The stringification of this
Statistic
type would only have worked in TypeScript anyway (in JSII languages like Java and Python we cannot rely on the string values of enums), and the fact that enums cannot be parameterized made it so that we used to have a lot of redundant enum values.Deprecate the
Statistic
type, and introduce a new factory class,Stats
, whose sole purpose is to produce formatted strings to use as CloudWatchstatistic
values, and advertise the use of this class.(We probably shouldn't have been using
string
as the type in the first place, but given that we are factories to produce them seems to be the next best thing).By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license