Skip to content

Add feature id tracking for credentials #3216

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

Merged
merged 61 commits into from
Apr 14, 2025
Merged

Conversation

richardwang1124
Copy link
Contributor

@richardwang1124 richardwang1124 commented Mar 21, 2025

The SDKs would like to track customer adoption of features through feature id tracking. This PR adds tracking for newly added credentials related metrics.

Tracking will be done through the signing plugin. When the signing handler is called, we retrieve the credentials class type, determine the metrics for the credentials, and pass them to the UserAgent through the with_metric method.


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

  1. To make sure we include your contribution in the release notes, please make sure to add description entry for your changes in the "unreleased changes" section of the CHANGELOG.md file (at corresponding gem). For the description entry, please make sure it lives in one line and starts with Feature or Issue in the correct format.

  2. For generated code changes, please checkout below instructions first:
    https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md

Thank you for your contribution!

Copy link

You have made a change to core without a corresponding change to the CHANGELOG.md. This change will not result in a new version and will not published unless an entry is added to CHANGELOG.md.

Copy link

You have made a change to core without a corresponding change to the CHANGELOG.md. This change will not result in a new version and will not published unless an entry is added to CHANGELOG.md.

Copy link

github-actions bot commented Mar 21, 2025

Detected 1 possible performance regressions:

  • aws-sdk-dynamodb.require_mem_retained - z-score regression: 2.71 -> 2.72. Z-score: 22.55

Copy link

Detected 30 possible performance regressions:

  • aws-sdk-dynamodb.require_mem_retained - z-score regression: 2.54 -> 2.54. Z-score: 63.76
  • aws-sdk-dynamodb.require_mem_allocated - z-score regression: 10.75 -> 10.76. Z-score: 132.35
  • aws-sdk-dynamodb.put_item_small_allocated_kb - z-score regression: 77.83 -> 100.64. Z-score: 21.42
  • aws-sdk-dynamodb.put_item_large_allocated_kb - z-score regression: 11736.62 -> 11759.42. Z-score: 21.57
  • aws-sdk-kinesis.client_mem_allocated - z-score regression: 0.62 -> 0.62. Z-score: 86.85
  • aws-sdk-kinesis.put_record_small_allocated_kb - z-score regression: 48.73 -> 70.08. Z-score: 597.72
  • aws-sdk-kinesis.put_record_small_ms - z-score regression: 0.45 -> 0.81. Z-score: 19.39
  • aws-sdk-kinesis.put_record_large_allocated_kb - z-score regression: 196.84 -> 218.19. Z-score: 597.72
  • aws-sdk-s3.client_mem_retained - z-score regression: 0.12 -> 0.12. Z-score: Infinity
  • aws-sdk-s3.client_mem_allocated - z-score regression: 0.9 -> 0.9. Z-score: Infinity
  • aws-sdk-s3.get_object_small_allocated_kb - z-score regression: 63.1 -> 85.49. Z-score: 20.45
  • aws-sdk-s3.get_object_large_allocated_kb - z-score regression: 21568.38 -> 21590.71. Z-score: 19.37
  • aws-sdk-s3.put_object_small_allocated_kb - z-score regression: 82.14 -> 102.61. Z-score: 419.84
  • aws-sdk-s3.put_object_small_ms - z-score regression: 0.71 -> 1.02. Z-score: 18.28
  • aws-sdk-s3.put_object_large_allocated_kb - z-score regression: 9298.43 -> 9318.97. Z-score: 248.92
  • aws-sdk-s3.put_object_multipart_large_allocated_kb - z-score regression: 32122.47 -> 32207.35. Z-score: 408.5
  • aws-sdk-s3.head_object_allocated_kb - z-score regression: 111.34 -> 132.76. Z-score: 268.56
  • aws-sdk-sns.client_mem_retained - z-score regression: 0.1 -> 0.1. Z-score: Infinity
  • aws-sdk-sns.client_mem_allocated - z-score regression: 0.58 -> 0.59. Z-score: Infinity
  • aws-sdk-sns.publish_small_allocated_kb - z-score regression: 59.51 -> 81.1. Z-score: 387.39
  • aws-sdk-sns.publish_small_ms - z-score regression: 0.53 -> 0.84. Z-score: 18.18
  • aws-sdk-sns.publish_large_allocated_kb - z-score regression: 440.77 -> 462.1. Z-score: 303.71
  • aws-sdk-cloudwatchlogs.client_mem_allocated - z-score regression: 0.59 -> 0.6. Z-score: 21.94
  • aws-sdk-cloudwatchlogs.put_log_events_small_allocated_kb - z-score regression: 58.49 -> 79.83. Z-score: 424.24
  • aws-sdk-cloudwatchlogs.put_log_events_small_ms - z-score regression: 0.54 -> 0.84. Z-score: 17.23
  • aws-sdk-cloudwatchlogs.put_log_events_large_allocated_kb - z-score regression: 5992.49 -> 6013.79. Z-score: 391.7
  • aws-sdk-core.gem_size_kb - z-score regression: 381.0 -> 383.0. Z-score: Infinity
  • aws-sdk-cloudwatch.client_mem_allocated - z-score regression: 0.58 -> 0.59. Z-score: 39.15
  • aws-sdk-cloudwatch.put_metric_data_small_allocated_kb - z-score regression: 59.14 -> 80.47. Z-score: 326.29
  • aws-sdk-cloudwatch.put_metric_data_large_allocated_kb - z-score regression: 1535.47 -> 1556.81. Z-score: 424.24

Copy link

You have made a change to core without a corresponding change to the CHANGELOG.md. This change will not result in a new version and will not published unless an entry is added to CHANGELOG.md.

Copy link

You have made a change to core without a corresponding change to the CHANGELOG.md. This change will not result in a new version and will not published unless an entry is added to CHANGELOG.md.

Copy link

You have made a change to core without a corresponding change to the CHANGELOG.md. This change will not result in a new version and will not published unless an entry is added to CHANGELOG.md.

Copy link
Contributor

@mullermp mullermp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Getting closer. We can chat offline if we need to. I'd like to poke at the "resolving" approach a bit more.

Copy link
Contributor

@jterapin jterapin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Partial review since this is WIP

Copy link
Contributor

@mullermp mullermp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Massive improvement!!! Just finishing touches.

Copy link
Contributor

@jterapin jterapin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! 👍 We're almost there! Credentials are a doozy to deep dive so it's great to see you power though!

Copy link
Contributor

@jterapin jterapin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Approved but I would like Matt to give the "final" lookover.

Copy link
Contributor

@mullermp mullermp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice job! Looks clean.

@richardwang1124 richardwang1124 merged commit 6d48c72 into version-3 Apr 14, 2025
34 checks passed
@richardwang1124 richardwang1124 deleted the feature/feature-ids branch April 14, 2025 22:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants