smithy-rs/tools
ysaito1001 c0f817330c
Allow User Agent to accept business metrics (#3781)
## Motivation and Context
This PR lays the groundwork for emitting and tracking business metrics
related to features like waiters, request compression, and S3 express
within the Rust SDKs. It introduces `BusinessMetric` to the `user_agent`
module and updates `AwsUserAgent` to support its integration.

## Description
While establishing the groundwork for the said motivation, this PR does
not send metrics from features yet.
The PR deprecates existing feature and config metadata, which are now
superseded by the new business metrics.

Related tasks include
- implementing versioning for the user agent string format, e.g.
`ua/2.0` (note that including a user agent version string to
`x-amz-user-agent` could cause many connection recording tests to fail
and may also break semver check in CI just like the [content-length
enforcement test](https://github.com/smithy-lang/smithy-rs/pull/3620)
needed to be disabled to work around it)
- sending metrics from recently implement features, maybe starting with
request compression and RPC V2 Cbor (this will also modify
`x-amz-user-agent` in connection recording tests, so the argument above
applies)

## Testing
- Added unit tests for `BusinessMetric` and `AwsUserAgent`
- Existing tests in CI

## Checklist
- [x] For changes to the AWS SDK, generated SDK code, or SDK runtime
crates, I have created a changelog entry Markdown file in the
`.changelog` directory, specifying "aws-sdk-rust" in the `applies_to`
key.

----

_By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice._
2024-08-06 03:02:05 +00:00
..
.cargo Remove sparse registry config (#2990) 2023-09-19 13:50:11 +00:00
ci-build Allow User Agent to accept business metrics (#3781) 2024-08-06 03:02:05 +00:00
ci-cdk Add client-support for RPC v2 CBOR (#3767) 2024-07-31 19:22:03 +00:00
ci-resources/tls-stub Upgrade ring to 0.17.5 (#3116) 2023-10-31 17:03:39 +00:00
ci-scripts Switch to file-per-change changelog (#3774) 2024-08-01 04:31:19 +00:00
echo-server Update dependencies and build tools (#3554) 2024-04-12 23:11:46 +00:00
__init__.py Add CI check for deterministic codegen (#2509) 2023-03-29 21:20:41 +00:00