Skip to content
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

Observability Support #3092

Merged
merged 75 commits into from
Sep 3, 2024
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
da55f14
Add initial plugin file
jterapin Aug 8, 2024
4c68658
Add inital files
jterapin Aug 8, 2024
377883c
Minor update
jterapin Aug 8, 2024
fcfebde
Port base and no-op from V4
jterapin Aug 8, 2024
5677d2f
Add minor functionality to render plugin
jterapin Aug 8, 2024
fdcb90a
Add plugin to default plugins
jterapin Aug 8, 2024
6336acb
Add a way to generate tracer scope name
jterapin Aug 8, 2024
0de5e33
Merge branch 'version-3' into implement_observability
jterapin Aug 12, 2024
dca7152
Correctly format module name
jterapin Aug 12, 2024
d558c99
Generate tracer on context
jterapin Aug 12, 2024
94b862f
Add tracer to context
jterapin Aug 12, 2024
e90ec7d
Add initial parent span
jterapin Aug 12, 2024
26913f7
Update otel provider
jterapin Aug 12, 2024
2257d34
Port span kind
jterapin Aug 12, 2024
b2d8a44
Wrap NetHttp handler
jterapin Aug 12, 2024
c0dd4d3
Port span status
jterapin Aug 12, 2024
1490f6f
Update documentation syntax
jterapin Aug 12, 2024
32dd56b
Add config validation
jterapin Aug 12, 2024
2f3557a
Handle service ids
jterapin Aug 12, 2024
2d23f53
Add documentation
jterapin Aug 12, 2024
d816851
Set up plugin specs
jterapin Aug 12, 2024
b6e7f48
Emit stub responses
jterapin Aug 12, 2024
6e11a79
Fix span attrs
jterapin Aug 12, 2024
be7c01d
Add opentelemetry-sdk to testing gems
jterapin Aug 13, 2024
c909b47
Update existing specs with tracer
jterapin Aug 13, 2024
308f8f9
Fix span wrapper on stub_responses
jterapin Aug 13, 2024
dbbfe50
Update sso and sts to include telemetry plugin
jterapin Aug 13, 2024
c9259c7
Update parent span name
jterapin Aug 13, 2024
3febd07
Fix syntax
jterapin Aug 13, 2024
49ff8bb
Add plugin specs
jterapin Aug 13, 2024
4dae0f6
Update specs
jterapin Aug 13, 2024
aae9d6a
Import specs
jterapin Aug 13, 2024
4179326
Update specs to V3
jterapin Aug 13, 2024
d095efe
Add a way to reset opentelemetry sdk configurations
jterapin Aug 14, 2024
9f939c4
Clean up require
jterapin Aug 14, 2024
26be5aa
Add tracer to context for async clients
jterapin Aug 16, 2024
ab0c4a7
Default to no-op tracer if none set
jterapin Aug 16, 2024
74bad6e
Add helper to reset otel sdk configuration state
jterapin Aug 16, 2024
93d328b
Update to handle services without serviceid metadata
jterapin Aug 16, 2024
a922645
Revert "Update existing specs with tracer"
jterapin Aug 16, 2024
3d3ee30
Wrap h2 handler
jterapin Aug 16, 2024
5f83459
Refactor request and response attrs
jterapin Aug 20, 2024
819dac0
Reorder wrapper in h2 handler
jterapin Aug 20, 2024
cbf1a0c
Add rbs files
jterapin Aug 20, 2024
7251039
Update docs
jterapin Aug 20, 2024
77c3ac0
Merge branch 'version-3' into implement_observability
jterapin Aug 20, 2024
4c3c611
Add changelog
jterapin Aug 20, 2024
6186261
Minor updates
jterapin Aug 20, 2024
1c784f7
Revert "Update sso and sts to include telemetry plugin"
jterapin Aug 20, 2024
d943a38
Update docs
jterapin Aug 20, 2024
a92b80a
Add missing span attri
jterapin Aug 21, 2024
193d8f6
Update specs service model
jterapin Aug 21, 2024
9d9d255
Update telemetry plugin config
jterapin Aug 21, 2024
b82661f
Add config documentation
jterapin Aug 21, 2024
ae1ce01
Move otel_loaded check to OTelProvider
jterapin Aug 22, 2024
4c2a4ef
Update Changelog
jterapin Aug 22, 2024
858616a
Merge branch 'version-3' into implement_observability
jterapin Aug 22, 2024
bb404a8
Bump min core
jterapin Aug 22, 2024
1cd2d83
Move current_span to Tracer interface
jterapin Aug 23, 2024
0628c32
Reorder requires
jterapin Aug 23, 2024
1ef0f62
Refactor to private methods
jterapin Aug 23, 2024
4a15734
Revert "Refactor to private methods"
jterapin Aug 26, 2024
b49b499
Refactor to private method
jterapin Aug 26, 2024
7018ecb
Add span wrapper
jterapin Aug 26, 2024
2e65821
Refactor to private method
jterapin Aug 26, 2024
6c6ad5c
Update for readability
jterapin Aug 26, 2024
bfe5c99
Update docs
jterapin Aug 26, 2024
834cf0c
Add customizations
jterapin Aug 28, 2024
608327d
Merge branch 'version-3' into implement_observability
jterapin Aug 28, 2024
0711821
Bump min core
jterapin Aug 28, 2024
3d1b994
Update based on feedback
jterapin Aug 28, 2024
3b72c62
Fix length
jterapin Aug 28, 2024
5d171f6
Update for readability
jterapin Aug 28, 2024
1b222f9
Update based on feedback
jterapin Aug 28, 2024
acc0475
Merge branch 'version-3' into implement_observability
jterapin Sep 3, 2024
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
9 changes: 6 additions & 3 deletions build_tools/customizations.rb
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,7 @@ def dynamodb_example_deep_transform(subsegment, keys)
api('CloudFront') do |api|

api['shapes'].each do |_, shape|
if shape['members'] && shape['members']['MaxItems']
shape['members']['MaxItems']['shape'] = 'integer'
end
shape['members']['MaxItems']['shape'] = 'integer' if shape['members'] && shape['members']['MaxItems']
jterapin marked this conversation as resolved.
Show resolved Hide resolved
end

api['operations'].keys.each do |name|
Expand Down Expand Up @@ -107,13 +105,16 @@ def dynamodb_example_deep_transform(subsegment, keys)
end

api('ImportExport') do |api|
api['metadata']['serviceId'] ||= 'importexport'

api['operations'].each do |_, operation|
operation['http']['requestUri'] = '/'
end
end

%w(Lambda LambdaPreview).each do |svc_name|
api(svc_name) do |api|
api['metadata']['serviceId'] ||= 'Lambda Preview' if svc_name == 'LambdaPreview'
api['shapes']['Timestamp']['type'] = 'timestamp'
end

Expand Down Expand Up @@ -220,6 +221,8 @@ def dynamodb_example_deep_transform(subsegment, keys)
# uses both flattened and locationName. Query protocol is supposed to
# ignore location name (xmlName) when flattened (xmlFlattened) is used.
api('SimpleDB') do |api|
api['metadata']['serviceId'] ||= 'SimpleDB'

api['shapes'].each do |_, shape|
next unless shape['type'] == 'structure'

Expand Down
4 changes: 2 additions & 2 deletions build_tools/services.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ class ServiceEnumerator
MANIFEST_PATH = File.expand_path('../../services.json', __FILE__)

# Minimum `aws-sdk-core` version for new gem builds
MINIMUM_CORE_VERSION = "3.202.0"
MINIMUM_CORE_VERSION = "3.203.0"

# Minimum `aws-sdk-core` version for new S3 gem builds
MINIMUM_CORE_VERSION_S3 = "3.202.0"
MINIMUM_CORE_VERSION_S3 = "3.203.0"

EVENTSTREAM_PLUGIN = "Aws::Plugins::EventStreamConfiguration"

Expand Down
11 changes: 11 additions & 0 deletions gems/aws-sdk-core/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,17 @@ Unreleased Changes

* Feature - Add support for Observability which includes a configuration, `telemetry_provider` and an OpenTelemetry-based telemetry provider.

3.202.0 (2024-08-27)
------------------

* Feature - Updated Aws::STS::Client with the latest API changes.

* Feature - Updated Aws::SSOOIDC::Client with the latest API changes.

* Feature - Updated Aws::SSO::Client with the latest API changes.

* Issue - Reduce initial memory usage by auto-loading bundled gems (STS, SSO, SSOOIDC).

3.201.5 (2024-08-15)
------------------

Expand Down
Loading