bugsnag_performance 0.3.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/CODEOWNERS +1 -0
- data/README.md +3 -3
- data/SECURITY.md +11 -0
- data/lib/bugsnag_performance/configuration.rb +13 -0
- data/lib/bugsnag_performance/internal/configuration_validator.rb +1 -0
- data/lib/bugsnag_performance/internal/delivery.rb +1 -2
- data/lib/bugsnag_performance/version.rb +1 -1
- data/lib/bugsnag_performance.rb +5 -0
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7209ef5a16d1a1f40cc5100f44f935f4deb13ada6eb5de82c785b823ef7c975a
|
4
|
+
data.tar.gz: 81d7fc68ae82ccca8d7aa1ca34fa15abd59fe72f9f17775a4100e11c4256ac6a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2348391589b8bbce569efbeaff908dba3112364ef8f76c32197f00a9b095d876b52cba246e6e4c25ffd92e4b9856b2be234c9c17ecd04d54a9f252ac8aec68d5
|
7
|
+
data.tar.gz: 87594a7d40c5249cc60f28db2699df868d1f21adbd67d27647a070fa323957f0c19710fae24af4e6c59390726168a8ca84cdd62358bc3da5568a9498ee80cabb
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,16 @@
|
|
1
1
|
Changelog
|
2
2
|
=========
|
3
3
|
|
4
|
+
## 1.0.0 (2024-12-09)
|
5
|
+
|
6
|
+
### Enhancements
|
7
|
+
|
8
|
+
* Consolidate Ruby/Ruby-Perf environment variables.
|
9
|
+
[#45](https://github.com/bugsnag/bugsnag-ruby-performance/pull/45)
|
10
|
+
|
11
|
+
* Restore Bugsnag-Sent-At header.
|
12
|
+
[#46](https://github.com/bugsnag/bugsnag-ruby-performance/pull/46)
|
13
|
+
|
4
14
|
## 0.3.0 (2024-11-13)
|
5
15
|
|
6
16
|
### Enhancements
|
data/CODEOWNERS
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
lib/ @imjoehaines @DariaKunoichi
|
data/README.md
CHANGED
@@ -9,9 +9,9 @@
|
|
9
9
|
</div>
|
10
10
|
|
11
11
|
[![Documentation](https://img.shields.io/badge/documentation-latest-blue.svg)](https://docs.bugsnag.com/performance/ruby/)
|
12
|
-
[![Build status](https://github.com/bugsnag/bugsnag-ruby-performance/actions/workflows/maze-runner.yml/badge.svg?branch=
|
12
|
+
[![Build status](https://github.com/bugsnag/bugsnag-ruby-performance/actions/workflows/maze-runner.yml/badge.svg?branch=next)](https://github.com/bugsnag/bugsnag-ruby-performance/actions/workflows/maze-runner.yml)
|
13
13
|
|
14
|
-
Convenience SDK for using the [Ruby
|
14
|
+
Convenience SDK for using the [Ruby OpenTelemetry SDK](https://github.com/open-telemetry/opentelemetry-ruby) with BugSnag.
|
15
15
|
|
16
16
|
## Features
|
17
17
|
|
@@ -30,4 +30,4 @@ For integration instructions, see our online docs: [docs.bugsnag.com/performance
|
|
30
30
|
|
31
31
|
## License
|
32
32
|
|
33
|
-
The BugSnag Ruby
|
33
|
+
The BugSnag Ruby Performance SDK is free software released under the MIT License. See [LICENSE.txt](LICENSE.txt) for details.
|
data/SECURITY.md
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
# Security Policy
|
2
|
+
|
3
|
+
## Supported Versions
|
4
|
+
|
5
|
+
| Version | Supported |
|
6
|
+
| ------- | ------------------ |
|
7
|
+
| 1.x | Yes |
|
8
|
+
|
9
|
+
## Reporting a Vulnerability
|
10
|
+
|
11
|
+
If you find a vulnerability in this SDK, please report it to our [Support team](mailto:support@bugsnag.com) for review.
|
@@ -49,6 +49,14 @@ module BugsnagPerformance
|
|
49
49
|
# @return [Array<String>, nil]
|
50
50
|
attr_accessor :enabled_release_stages
|
51
51
|
|
52
|
+
# The name of the service that is being traced
|
53
|
+
#
|
54
|
+
# If not set, this will default to the Open Telemetry SDK service name
|
55
|
+
# or the value set by the "OTEL_SERVICE_NAME" environment variable
|
56
|
+
#
|
57
|
+
# @return [String]
|
58
|
+
attr_accessor :service_name
|
59
|
+
|
52
60
|
attr_writer :endpoint
|
53
61
|
|
54
62
|
def initialize(errors_configuration)
|
@@ -59,6 +67,11 @@ module BugsnagPerformance
|
|
59
67
|
@app_version = fetch(errors_configuration, :app_version, env: "BUGSNAG_PERFORMANCE_APP_VERSION")
|
60
68
|
@release_stage = fetch(errors_configuration, :release_stage, env: "BUGSNAG_PERFORMANCE_RELEASE_STAGE", default: "production")
|
61
69
|
|
70
|
+
service_env = ENV["BUGSNAG_PERFORMANCE_SERVICE_NAME"]
|
71
|
+
@service_name = service_env unless service_env.nil?
|
72
|
+
endpoint_env = ENV["BUGSNAG_PERFORMANCE_ENDPOINT"]
|
73
|
+
@endpoint = endpoint_env unless endpoint_env.nil?
|
74
|
+
|
62
75
|
@enabled_release_stages = fetch(errors_configuration, :enabled_release_stages, env: "BUGSNAG_PERFORMANCE_ENABLED_RELEASE_STAGES")
|
63
76
|
|
64
77
|
# transform enabled release stages into an array if we read its value from
|
@@ -15,6 +15,7 @@ module BugsnagPerformance
|
|
15
15
|
validate_api_key
|
16
16
|
validate_string(:app_version, optional: true)
|
17
17
|
validate_string(:release_stage, optional: true)
|
18
|
+
validate_string(:service_name, optional: true)
|
18
19
|
validate_array(:enabled_release_stages, "non-empty strings", optional: true, &method(:valid_string?))
|
19
20
|
valid_endpoint = validate_endpoint
|
20
21
|
|
@@ -17,8 +17,7 @@ module BugsnagPerformance
|
|
17
17
|
def deliver(headers, body)
|
18
18
|
headers = headers.merge(
|
19
19
|
@common_headers,
|
20
|
-
|
21
|
-
# { "Bugsnag-Sent-At" => Time.now.utc.iso8601(3) },
|
20
|
+
{ "Bugsnag-Sent-At" => Time.now.utc.iso8601(3) },
|
22
21
|
)
|
23
22
|
|
24
23
|
raw_response = OpenTelemetry::Common::Utilities.untraced do
|
data/lib/bugsnag_performance.rb
CHANGED
@@ -83,6 +83,11 @@ module BugsnagPerformance
|
|
83
83
|
otel_configurator.service_version = app_version
|
84
84
|
end
|
85
85
|
|
86
|
+
# set the service name if explicitly set by the user
|
87
|
+
if configuration.service_name != nil && configuration.service_name != ""
|
88
|
+
otel_configurator.service_name = configuration.service_name
|
89
|
+
end
|
90
|
+
|
86
91
|
otel_configurator.resource = OpenTelemetry::SDK::Resources::Resource.create(
|
87
92
|
{
|
88
93
|
OpenTelemetry::SemanticConventions::Resource::DEPLOYMENT_ENVIRONMENT => configuration.release_stage,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bugsnag_performance
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- BugSnag
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-12-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|
@@ -89,9 +89,11 @@ extra_rdoc_files: []
|
|
89
89
|
files:
|
90
90
|
- ".yardopts"
|
91
91
|
- CHANGELOG.md
|
92
|
+
- CODEOWNERS
|
92
93
|
- CONTRIBUTING.md
|
93
94
|
- LICENSE.txt
|
94
95
|
- README.md
|
96
|
+
- SECURITY.md
|
95
97
|
- TESTING.md
|
96
98
|
- bugsnag-performance.gemspec
|
97
99
|
- lib/bugsnag_performance.rb
|
@@ -120,7 +122,7 @@ metadata:
|
|
120
122
|
homepage_uri: https://www.bugsnag.com
|
121
123
|
source_code_uri: https://github.com/bugsnag/bugsnag-ruby-performance
|
122
124
|
bug_tracker_uri: https://github.com/bugsnag/bugsnag-ruby-performance/issues
|
123
|
-
changelog_uri: https://github.com/bugsnag/bugsnag-ruby-performance/blob/
|
125
|
+
changelog_uri: https://github.com/bugsnag/bugsnag-ruby-performance/blob/v1.0.0/CHANGELOG.md
|
124
126
|
documentation_uri: https://docs.bugsnag.com/performance/integration-guides/ruby/
|
125
127
|
rubygems_mfa_required: 'true'
|
126
128
|
post_install_message:
|