Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
84d83b6
Add OpenTelemetry collector mode
unflxw Jul 8, 2026
db42338
Emit OpenTelemetry logs in collector mode
unflxw Jul 8, 2026
bc536ae
Emit OpenTelemetry metrics in collector mode
unflxw Jul 8, 2026
cb1d004
Test the metric probes in collector mode
unflxw Jul 8, 2026
0b71483
Emit OpenTelemetry traces in collector mode
unflxw Jul 8, 2026
9a611e9
Test integrations in collector mode
unflxw Jul 8, 2026
6ce933f
Inject trace context into outgoing HTTP requests
unflxw Jul 8, 2026
37f577c
Extract trace context from incoming web requests
unflxw Jul 8, 2026
dc081b6
Propagate trace context across background jobs
unflxw Jul 8, 2026
4907792
Run error blocks eagerly in collector mode
unflxw Jul 10, 2026
5e1d1cb
Tag Sequel query spans CLIENT in collector mode
unflxw Jul 14, 2026
ecfb15f
Extract trace context onto an empty context
unflxw Jul 16, 2026
10e49ff
Guard blocks handed to the transaction
unflxw Jul 16, 2026
42e6b67
Drop actionless transactions in collector mode
unflxw Jul 16, 2026
f1ad6b4
Record the Delayed Job enqueue as a producer span
unflxw Jul 16, 2026
d5ac552
Dual-mode transaction and helper spec coverage
unflxw Jul 16, 2026
383b34c
Resolve OTel logger per emit, drop the cache
unflxw Jul 21, 2026
467ec4b
Add opentelemetry_scope to instrumentation
unflxw Jul 21, 2026
caced5c
Derive AS::N span scope from the event group
unflxw Jul 20, 2026
ad024aa
Test AS::N derived instrumentation scope
unflxw Jul 20, 2026
9fad25b
Tag Rack and web framework spans with scope
unflxw Jul 21, 2026
b28e289
Test Rack and web framework span scope
unflxw Jul 21, 2026
d9c57a1
Tag remaining integration spans with scope
unflxw Jul 21, 2026
07a56bd
Test remaining integration scopes
unflxw Jul 21, 2026
9b122f6
Add the appsignal-opentelemetry companion gem
unflxw Jul 24, 2026
e5a91ac
Bound collector OpenTelemetry gem versions
unflxw Jul 27, 2026
2dfc1eb
Install package deps in build:packages task
unflxw Jul 27, 2026
082782d
Don't emit metrics for actionless transactions
unflxw Jul 20, 2026
1d522b9
Report allocation counts in collector mode
unflxw Jul 20, 2026
2cabd15
Use a clearer placeholder for unfinished events
unflxw Jul 22, 2026
7e227c8
Set transaction span kind and relationship
unflxw Jul 22, 2026
c9898e2
Split params into request and function channels
unflxw Jul 27, 2026
0ef0528
Parent background job spans to the enqueuer
unflxw Jul 23, 2026
4d693e2
Document the OpenTelemetry keyword arguments
unflxw Jul 29, 2026
4e9d5dc
Put event category in collector span name
unflxw Jul 23, 2026
5c7d324
Rename the event span name writer
unflxw Jul 29, 2026
10a7f30
Link bulk enqueued Que jobs instead of parenting
unflxw Jul 30, 2026
1872a71
Trim shared frames from error cause backtraces
unflxw Jul 28, 2026
95a237b
Report how many cause lines were omitted
unflxw Jul 28, 2026
6faf76f
Skip trace context when enqueue events are off
unflxw Jul 30, 2026
d2c3ccc
Add an OpenTelemetry span attributes method
unflxw Jul 30, 2026
5c006c8
Describe outgoing HTTP requests
unflxw Aug 3, 2026
39bc0eb
Describe incoming HTTP requests
unflxw Aug 3, 2026
6c4d543
Describe database queries
unflxw Aug 3, 2026
fb4f039
Describe background job spans
unflxw Aug 3, 2026
cfdf2f4
Mark render events as templating work
unflxw Aug 3, 2026
8059652
Record the error type on spans that failed
unflxw Aug 3, 2026
618eb06
Fix the negated include_event matcher
unflxw Aug 3, 2026
eb12d02
Test Excon suppression under Faraday again
unflxw Aug 4, 2026
8ae5823
Mark Excon spans as client spans
unflxw Aug 4, 2026
ea8fdfa
Inject trace context into Excon requests
unflxw Aug 4, 2026
5db9a48
Describe Excon requests on their span
unflxw Aug 4, 2026
7e4da7d
Drop the duplicate queue start attribute
unflxw Aug 7, 2026
51434c8
Report a signalled runner script as a failure
unflxw Aug 7, 2026
176186e
Remove an event formatter that never ran
unflxw Aug 7, 2026
36d2442
Let a formatter describe an event with no title
unflxw Aug 7, 2026
e16b525
Let a formatter declare its span kind
unflxw Aug 7, 2026
bf0b265
Let a formatter describe its own span
unflxw Aug 7, 2026
efa7536
Let a formatter defer to another integration
unflxw Aug 7, 2026
9ed4c09
Let a formatter declare its instrumentation scope
unflxw Aug 7, 2026
9076862
Trim the unreleased changesets
unflxw Aug 11, 2026
b068e49
Match monitor's arguments in monitor_and_stop
unflxw Aug 18, 2026
1e3cd2c
Default instrument_sql to a client span
unflxw Aug 19, 2026
3429061
Suppress native events even when hooks are off (#1579)
unflxw Aug 20, 2026
807d01a
Stop the sentinel overwriting db.system.name
unflxw Aug 20, 2026
eb8748d
Apply formatter attributes to dry-monitor events
unflxw Aug 20, 2026
2b036e6
Let record_event take opentelemetry_attributes
unflxw Aug 20, 2026
79171d6
Name the engine for ActiveRecord, Sequel, ROM
unflxw Aug 20, 2026
546bde2
Name the real engine for DataMapper
unflxw Aug 20, 2026
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
10 changes: 10 additions & 0 deletions .changesets/add-collector-attribute-options.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
bump: minor
type: add
---

Add configuration options that map to OpenTelemetry resource attributes in collector mode: `service_name`, `filter_attributes`, `filter_function_parameters`, `filter_request_query_parameters`, `filter_request_payload`, `response_headers`, `send_function_parameters`, `send_request_query_parameters` and `send_request_payload`.

In collector mode, existing options are passed to the collector as resource attributes as well: `name`, environment, `hostname`, `revision`, `ignore_actions`, `ignore_errors`, `ignore_namespaces`, `request_headers`, `filter_session_data` and `send_session_data`.

Setting any of these without `collector_endpoint`, or setting `filter_parameters`, `filter_metadata` or `send_params` with it, logs a warning at startup.
8 changes: 8 additions & 0 deletions .changesets/add-collector-mode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
bump: major
type: add
---

Add a `collector_endpoint` configuration option (`APPSIGNAL_COLLECTOR_ENDPOINT` environment variable) that puts the integration in _collector mode_. In collector mode AppSignal reports traces, metrics and logs to an AppSignal Collector, over OTLP/HTTP.

Collector mode requires Ruby 3.1 or newer, and the OpenTelemetry gems, which are not installed by default. Add the `appsignal-opentelemetry` gem alongside `appsignal` to install them. When they are missing or too old, AppSignal logs a warning and keeps reporting through its agent.
Loading
Loading