Skip to content

Conversation

@SoumyaRaikwar
Copy link
Contributor

@SoumyaRaikwar SoumyaRaikwar commented Nov 4, 2025

Summary

Part of #7050 - Adds OTLP Scope validation test for v2 Storage API.

Changes

  • integration.go: Added testOTLPScopePreservation() test + helper methods
  • otlp_scope_attributes.json: OTLP fixture with InstrumentationScope metadata
  • otlp_span_links.json: OTLP fixture with span links

Why

Validates OTLP-specific features (InstrumentationScope name/version) not testable with v1 model. Tests run automatically on all storage backends.

Part of #7050

@SoumyaRaikwar SoumyaRaikwar requested a review from a team as a code owner November 4, 2025 13:50
@SoumyaRaikwar SoumyaRaikwar requested a review from jkowall November 4, 2025 13:50
@SoumyaRaikwar
Copy link
Contributor Author

SoumyaRaikwar commented Nov 4, 2025

Hi @yurishkuro, @jkowall

This PR upgrades the integration tests to use v2 Storage API with OTLP fixtures
for issue #7050.

Changes:

  • Updated writeTrace() to accept ptrace.Traces (v2 API)
  • Added OTLP fixture loading infrastructure
  • Created 3 sample OTLP fixtures with scope/resource attributes
  • All tests pass ✓

For the remaining v1 fixtures: What's your preferred approach? Should I convert
all of them in a follow-up PR, or would you like a different strategy?

@codecov
Copy link

codecov bot commented Nov 4, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.64%. Comparing base (5b64125) to head (3c1052b).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #7632      +/-   ##
==========================================
- Coverage   95.67%   95.64%   -0.03%     
==========================================
  Files         311      311              
  Lines       15641    15641              
==========================================
- Hits        14964    14960       -4     
- Misses        532      535       +3     
- Partials      145      146       +1     
Flag Coverage Δ
badger_v1 9.73% <ø> (ø)
badger_v2 2.03% <ø> (ø)
cassandra-4.x-v1-manual 14.09% <ø> (ø)
cassandra-4.x-v2-auto 2.02% <ø> (ø)
cassandra-4.x-v2-manual 2.02% <ø> (ø)
cassandra-5.x-v1-manual 14.09% <ø> (ø)
cassandra-5.x-v2-auto 2.02% <ø> (ø)
cassandra-5.x-v2-manual 2.02% <ø> (ø)
clickhouse 1.95% <ø> (ø)
elasticsearch-6.x-v1 18.60% <ø> (ø)
elasticsearch-7.x-v1 18.63% <ø> (ø)
elasticsearch-8.x-v1 18.79% <ø> (ø)
elasticsearch-8.x-v2 2.03% <ø> (ø)
elasticsearch-9.x-v2 2.03% <ø> (ø)
grpc_v1 9.61% <ø> (ø)
grpc_v2 2.03% <ø> (ø)
kafka-3.x-v2 2.03% <ø> (ø)
memory_v2 ?
opensearch-1.x-v1 18.68% <ø> (ø)
opensearch-2.x-v1 18.68% <ø> (ø)
opensearch-2.x-v2 2.03% <ø> (ø)
opensearch-3.x-v2 2.03% <ø> (ø)
query 2.03% <ø> (ø)
tailsampling-processor 0.59% <ø> (ø)
unittests 94.22% <ø> (-0.03%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions
Copy link

github-actions bot commented Nov 4, 2025

Metrics Comparison Summary

Total changes across all snapshots: 53

Detailed changes per snapshot

summary_metrics_snapshot_cassandra

📊 Metrics Diff Summary

Total Changes: 53

  • 🆕 Added: 0 metrics
  • ❌ Removed: 53 metrics
  • 🔄 Modified: 0 metrics

❌ Removed Metrics

  • http_server_request_body_size_bytes (18 variants)
View diff sample
-http_server_request_body_size_bytes{http_request_method="GET",http_response_status_code="503",le="+Inf",network_protocol_name="http",network_protocol_version="1.1",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",otel_scope_schema_url="",otel_scope_version="0.64.0",server_address="localhost",server_port="13133",url_scheme="http"}
-http_server_request_body_size_bytes{http_request_method="GET",http_response_status_code="503",le="0",network_protocol_name="http",network_protocol_version="1.1",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",otel_scope_schema_url="",otel_scope_version="0.64.0",server_address="localhost",server_port="13133",url_scheme="http"}
-http_server_request_body_size_bytes{http_request_method="GET",http_response_status_code="503",le="10",network_protocol_name="http",network_protocol_version="1.1",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",otel_scope_schema_url="",otel_scope_version="0.64.0",server_address="localhost",server_port="13133",url_scheme="http"}
-http_server_request_body_size_bytes{http_request_method="GET",http_response_status_code="503",le="100",network_protocol_name="http",network_protocol_version="1.1",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",otel_scope_schema_url="",otel_scope_version="0.64.0",server_address="localhost",server_port="13133",url_scheme="http"}
-http_server_request_body_size_bytes{http_request_method="GET",http_response_status_code="503",le="1000",network_protocol_name="http",network_protocol_version="1.1",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",otel_scope_schema_url="",otel_scope_version="0.64.0",server_address="localhost",server_port="13133",url_scheme="http"}
-http_server_request_body_size_bytes{http_request_method="GET",http_response_status_code="503",le="10000",network_protocol_name="http",network_protocol_version="1.1",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",otel_scope_schema_url="",otel_scope_version="0.64.0",server_address="localhost",server_port="13133",url_scheme="http"}
-http_server_request_body_size_bytes{http_request_method="GET",http_response_status_code="503",le="25",network_protocol_name="http",network_protocol_version="1.1",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",otel_scope_schema_url="",otel_scope_version="0.64.0",server_address="localhost",server_port="13133",url_scheme="http"}
...
- `http_server_request_duration_seconds` (17 variants)
View diff sample
-http_server_request_duration_seconds{http_request_method="GET",http_response_status_code="503",le="+Inf",network_protocol_name="http",network_protocol_version="1.1",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",otel_scope_schema_url="",otel_scope_version="0.64.0",server_address="localhost",server_port="13133",url_scheme="http"}
-http_server_request_duration_seconds{http_request_method="GET",http_response_status_code="503",le="0.005",network_protocol_name="http",network_protocol_version="1.1",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",otel_scope_schema_url="",otel_scope_version="0.64.0",server_address="localhost",server_port="13133",url_scheme="http"}
-http_server_request_duration_seconds{http_request_method="GET",http_response_status_code="503",le="0.01",network_protocol_name="http",network_protocol_version="1.1",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",otel_scope_schema_url="",otel_scope_version="0.64.0",server_address="localhost",server_port="13133",url_scheme="http"}
-http_server_request_duration_seconds{http_request_method="GET",http_response_status_code="503",le="0.025",network_protocol_name="http",network_protocol_version="1.1",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",otel_scope_schema_url="",otel_scope_version="0.64.0",server_address="localhost",server_port="13133",url_scheme="http"}
-http_server_request_duration_seconds{http_request_method="GET",http_response_status_code="503",le="0.05",network_protocol_name="http",network_protocol_version="1.1",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",otel_scope_schema_url="",otel_scope_version="0.64.0",server_address="localhost",server_port="13133",url_scheme="http"}
-http_server_request_duration_seconds{http_request_method="GET",http_response_status_code="503",le="0.075",network_protocol_name="http",network_protocol_version="1.1",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",otel_scope_schema_url="",otel_scope_version="0.64.0",server_address="localhost",server_port="13133",url_scheme="http"}
-http_server_request_duration_seconds{http_request_method="GET",http_response_status_code="503",le="0.1",network_protocol_name="http",network_protocol_version="1.1",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",otel_scope_schema_url="",otel_scope_version="0.64.0",server_address="localhost",server_port="13133",url_scheme="http"}
...
- `http_server_response_body_size_bytes` (18 variants)
View diff sample
-http_server_response_body_size_bytes{http_request_method="GET",http_response_status_code="503",le="+Inf",network_protocol_name="http",network_protocol_version="1.1",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",otel_scope_schema_url="",otel_scope_version="0.64.0",server_address="localhost",server_port="13133",url_scheme="http"}
-http_server_response_body_size_bytes{http_request_method="GET",http_response_status_code="503",le="0",network_protocol_name="http",network_protocol_version="1.1",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",otel_scope_schema_url="",otel_scope_version="0.64.0",server_address="localhost",server_port="13133",url_scheme="http"}
-http_server_response_body_size_bytes{http_request_method="GET",http_response_status_code="503",le="10",network_protocol_name="http",network_protocol_version="1.1",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",otel_scope_schema_url="",otel_scope_version="0.64.0",server_address="localhost",server_port="13133",url_scheme="http"}
-http_server_response_body_size_bytes{http_request_method="GET",http_response_status_code="503",le="100",network_protocol_name="http",network_protocol_version="1.1",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",otel_scope_schema_url="",otel_scope_version="0.64.0",server_address="localhost",server_port="13133",url_scheme="http"}
-http_server_response_body_size_bytes{http_request_method="GET",http_response_status_code="503",le="1000",network_protocol_name="http",network_protocol_version="1.1",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",otel_scope_schema_url="",otel_scope_version="0.64.0",server_address="localhost",server_port="13133",url_scheme="http"}
-http_server_response_body_size_bytes{http_request_method="GET",http_response_status_code="503",le="10000",network_protocol_name="http",network_protocol_version="1.1",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",otel_scope_schema_url="",otel_scope_version="0.64.0",server_address="localhost",server_port="13133",url_scheme="http"}
-http_server_response_body_size_bytes{http_request_method="GET",http_response_status_code="503",le="25",network_protocol_name="http",network_protocol_version="1.1",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",otel_scope_schema_url="",otel_scope_version="0.64.0",server_address="localhost",server_port="13133",url_scheme="http"}
...

➡️ View full metrics file

@SoumyaRaikwar SoumyaRaikwar force-pushed the feature/upgrade-integration-tests-v2 branch 2 times, most recently from a7324ab to 13dc0db Compare November 4, 2025 15:16
@yurishkuro yurishkuro added the changelog:ci Change related to continuous integration / testing label Nov 10, 2025
Copy link
Member

@yurishkuro yurishkuro left a comment

Choose a reason for hiding this comment

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

It does not fix 7050. I just see a patchwork of different threads.

@SoumyaRaikwar
Copy link
Contributor Author

@yurishkuro - Thanks for the feedback! Cleaned up unused code in latest commit.

Question on scope: This PR currently upgrades writeTrace() to v2 API and adds OTLP scope validation.

To fully complete #7050, I'd need to also convert all 30 fixture files and update 7 methods from *model.Traceptrace.Traces .

Should I:

  1. Expand this PR to include full migration?
  2. Keep it focused and do full migration in follow-up PR(s)?

Happy to do either - just want to confirm approach before implementing!

@yurishkuro
Copy link
Member

The full scope is defined in the issue. I'm ok to merge incremental changes, but they must be labeled "part of" not "fixes" for the issue.

@SoumyaRaikwar SoumyaRaikwar changed the title [storage] Upgrade e2e storage tests to use v2 Storage API and OTLP [storage] Add OTLP Scope metadata validation test (part of #7050) Nov 11, 2025
@SoumyaRaikwar
Copy link
Contributor Author

@yurishkuro - Thanks for clarifying! My apologies for it.
Updated PR to reflect this is "part of #7050" as an incremental change. Will submit follow-up PRs for fixture conversion and remaining method migration.

@SoumyaRaikwar
Copy link
Contributor Author

@yurishkuro - Added OTLP Scope validation test. Ready for review.

Changes:

  • Added testOTLPScopePreservation() - validates Scope name/version preservation
  • Test runs on all storage backends automatically

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds integration tests to validate OTLP InstrumentationScope metadata preservation through the v2 Storage API, as part of #7050.

  • Adds testOTLPScopePreservation() to verify scope name and version are preserved through storage backends
  • Refactors writeTrace() to accept ptrace.Traces directly instead of *model.Trace, enabling native OTLP testing
  • Includes two OTLP fixture files for testing scope attributes and span links

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
internal/storage/integration/integration.go Refactored writeTrace() signature to accept ptrace.Traces, added testOTLPScopePreservation() test with helper functions loadOTLPFixture() and extractTraceID(), updated all callers to convert v1 traces to OTLP format before writing
internal/storage/integration/fixtures/traces/otlp_scope_attributes.json OTLP fixture with InstrumentationScope metadata (name, version, attributes) and span data for validation testing
internal/storage/integration/fixtures/traces/otlp_span_links.json OTLP fixture with span links data, currently unused in tests

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@SoumyaRaikwar
Copy link
Contributor Author

@yurishkuro ,Fixed OTLPScopePreservation test failures by normalizing OTLP fixture timestamps to recent time window (similar to correctTime() for v1 fixtures). Also addressed Copilot feedback: removed unused scope attributes from fixture and cleaned up log message. All ES/OpenSearch tests now passing.

could you please review

s.writeTrace(t, traces)
traceID := extractTraceID(t, traces)

var readTraces []*model.Trace
Copy link
Contributor

Choose a reason for hiding this comment

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

why the new test has old model.Trace? we want to upgrade the tests completely to use otlp traces. if new fixtures are added, why we need to convert them back to old models?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

it is now resolved: the scope test is fully OTLP-native.

Comment on lines 674 to 688
require.Positive(t, retrievedTraces.SpanCount(), "Retrieved trace should have spans")

// Validate OTLP InstrumentationScope metadata directly
require.Positive(t, retrievedTraces.ResourceSpans().Len(), "Should have resource spans")

rs := retrievedTraces.ResourceSpans().At(0)
require.Positive(t, rs.ScopeSpans().Len(), "Should have scope spans")

scopeSpans := rs.ScopeSpans().At(0)
scope := scopeSpans.Scope()

assert.Equal(t, "test-instrumentation-library", scope.Name())
assert.Equal(t, "2.1.0", scope.Version())

t.Log("OTLP InstrumentationScope metadata preserved successfully")
Copy link
Contributor

Choose a reason for hiding this comment

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

checking only lengths and scope name and versions is not enough, we need to check whether the whole trace is preserved or not. this is the reason of this issue, as scope attributes were missed in conversion. we might have to do

      assert(t, expected, retrieved)

it might fail in some backends because some normalization is done without any loss of data but as for now, checking for memory backend is enough.

"spanId": "0000000000000040",
"attributes": [
{
"key": "link.type",
Copy link
Contributor

Choose a reason for hiding this comment

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

this is the reason why most of the tests are failing. @yurishkuro we are preserving only two type of attributes of span link in form of reference child_of and follows_from with key opentracing.ref_type. do we need to preserve random attributes like these for links?

Copy link
Member

Choose a reason for hiding this comment

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

The goal is to ensure storing of OTLP data is lossless. But not all backends implement that today. The actual ticket is about upgrading e2e tests to use OTLP, not to add new functional requirements, which would be a separate issue.

Copy link
Contributor

Choose a reason for hiding this comment

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

yes, but tests are failing, that's because of the above reason I specified. So just wanna ask should we test memory as for now (by introducing a flag similar to SpanKind in e2e tests) or change the fixtures?

Copy link
Member

Choose a reason for hiding this comment

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

don't introduce attributes in the test fixtures where they are not supported. Create a dedicated fixture that tests that and exclude it by name from some of the tests for backends that don't support them (ES and CH should properly support all attributes).

Copy link
Contributor

Choose a reason for hiding this comment

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

For ES, this fixture would fail because we are handling link attributes in this way:

func refTypeFromLink(link ptrace.SpanLink) dbmodel.ReferenceType {
refTypeAttr, ok := link.Attributes().Get(conventions.AttributeOpentracingRefType)
if !ok {
return dbmodel.FollowsFrom
}
return strToDbSpanRefType(refTypeAttr.Str())
}
func strToDbSpanRefType(attr string) dbmodel.ReferenceType {
if attr == conventions.AttributeOpentracingRefTypeChildOf {
return dbmodel.ChildOf
}
// There are only 2 types of SpanRefType we assume that everything
// that's not a model.ChildOf is a model.FollowsFrom
return dbmodel.FollowsFrom
}

So my question was, do we get only these 2 types of attributes from links of OTLP traces (it is assumed here in ptrace.Traces to model.Trace too)? because in ES we are preserving only these two attributes via Reference (Here SpanLink has a random attribute "link.type", that's why all tests are failing except memory.

Copy link
Member

Choose a reason for hiding this comment

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

all attributes must be preserved in the storage.

@SoumyaRaikwar
Copy link
Contributor Author

@yurishkuro @Manik2708

Thanks for the feedback! Updated:

  • Removed unsupported custom attributes from span link fixtures
  • Added comprehensive assertions verifying each link's TraceID and SpanID
  • Scope test now validates full metadata (name + version)

Tests confirm OTLP structure preservation through v2 API for memory backend.
could you please review again

renovate-bot and others added 24 commits December 18, 2025 14:12
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/setup-go](https://redirect.github.com/actions/setup-go) |
action | minor | `v6.0.0` -> `v6.1.0` |
| [actions/setup-node](https://redirect.github.com/actions/setup-node) |
action | minor | `v6.0.0` -> `v6.1.0` |
|
[actions/setup-python](https://redirect.github.com/actions/setup-python)
| action | minor | `v6.0.0` -> `v6.1.0` |
|
[docker/setup-qemu-action](https://redirect.github.com/docker/setup-qemu-action)
| action | minor | `v3.6.0` -> `v3.7.0` |
|
[github/codeql-action](https://redirect.github.com/github/codeql-action)
| action | minor | `v4.30.8` -> `v4.31.8` |
|
[step-security/harden-runner](https://redirect.github.com/step-security/harden-runner)
| action | minor | `v2.13.0` -> `v2.14.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>actions/setup-go (actions/setup-go)</summary>

###
[`v6.1.0`](https://redirect.github.com/actions/setup-go/releases/tag/v6.1.0)

[Compare
Source](https://redirect.github.com/actions/setup-go/compare/v6.0.0...v6.1.0)

#### What's Changed

##### Enhancements

- Fall back to downloading from go.dev/dl instead of
storage.googleapis.com/golang by
[@&#8203;nicholasngai](https://redirect.github.com/nicholasngai) in
[#&#8203;665](https://redirect.github.com/actions/setup-go/pull/665)
- Add support for .tool-versions file and update workflow by
[@&#8203;priya-kinthali](https://redirect.github.com/priya-kinthali) in
[#&#8203;673](https://redirect.github.com/actions/setup-go/pull/673)
- Add comprehensive breaking changes documentation for v6 by
[@&#8203;mahabaleshwars](https://redirect.github.com/mahabaleshwars) in
[#&#8203;674](https://redirect.github.com/actions/setup-go/pull/674)

##### Dependency updates

- Upgrade eslint-config-prettier from 10.0.1 to 10.1.8 and document
breaking changes in v6 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[#&#8203;617](https://redirect.github.com/actions/setup-go/pull/617)
- Upgrade actions/publish-action from 0.3.0 to 0.4.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[#&#8203;641](https://redirect.github.com/actions/setup-go/pull/641)
- Upgrade semver and
[@&#8203;types/semver](https://redirect.github.com/types/semver) by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[#&#8203;652](https://redirect.github.com/actions/setup-go/pull/652)

#### New Contributors

- [@&#8203;nicholasngai](https://redirect.github.com/nicholasngai) made
their first contribution in
[#&#8203;665](https://redirect.github.com/actions/setup-go/pull/665)
- [@&#8203;priya-kinthali](https://redirect.github.com/priya-kinthali)
made their first contribution in
[#&#8203;673](https://redirect.github.com/actions/setup-go/pull/673)
- [@&#8203;mahabaleshwars](https://redirect.github.com/mahabaleshwars)
made their first contribution in
[#&#8203;674](https://redirect.github.com/actions/setup-go/pull/674)

**Full Changelog**:
<actions/setup-go@v6...v6.1.0>

</details>

<details>
<summary>actions/setup-node (actions/setup-node)</summary>

###
[`v6.1.0`](https://redirect.github.com/actions/setup-node/releases/tag/v6.1.0)

[Compare
Source](https://redirect.github.com/actions/setup-node/compare/v6.0.0...v6.1.0)

#### What's Changed

##### Enhancement:

- Remove always-auth configuration handling by
[@&#8203;priyagupta108](https://redirect.github.com/priyagupta108) in
[#&#8203;1436](https://redirect.github.com/actions/setup-node/pull/1436)

##### Dependency updates:

- Upgrade
[@&#8203;actions/cache](https://redirect.github.com/actions/cache) from
4.0.3 to 4.1.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;1384](https://redirect.github.com/actions/setup-node/pull/1384)
- Upgrade actions/checkout from 5 to 6 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;1439](https://redirect.github.com/actions/setup-node/pull/1439)
- Upgrade js-yaml from 3.14.1 to 3.14.2 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;1435](https://redirect.github.com/actions/setup-node/pull/1435)

##### Documentation update:

- Add example for restore-only cache in documentation by
[@&#8203;aparnajyothi-y](https://redirect.github.com/aparnajyothi-y) in
[#&#8203;1419](https://redirect.github.com/actions/setup-node/pull/1419)

**Full Changelog**:
<actions/setup-node@v6...v6.1.0>

</details>

<details>
<summary>actions/setup-python (actions/setup-python)</summary>

###
[`v6.1.0`](https://redirect.github.com/actions/setup-python/releases/tag/v6.1.0)

[Compare
Source](https://redirect.github.com/actions/setup-python/compare/v6.0.0...v6.1.0)

##### What's Changed

##### Enhancements:

- Add support for `pip-install` input by
[@&#8203;gowridurgad](https://redirect.github.com/gowridurgad) in
[#&#8203;1201](https://redirect.github.com/actions/setup-python/pull/1201)
- Add graalpy early-access and windows builds by
[@&#8203;timfel](https://redirect.github.com/timfel) in
[#&#8203;880](https://redirect.github.com/actions/setup-python/pull/880)

##### Dependency and Documentation updates:

- Enhanced wording and updated example usage for `allow-prereleases` by
[@&#8203;yarikoptic](https://redirect.github.com/yarikoptic) in
[#&#8203;979](https://redirect.github.com/actions/setup-python/pull/979)
- Upgrade urllib3 from 1.26.19 to 2.5.0 and document breaking changes in
v6 by [@&#8203;dependabot](https://redirect.github.com/dependabot) in
[#&#8203;1139](https://redirect.github.com/actions/setup-python/pull/1139)
- Upgrade typescript from 5.4.2 to 5.9.3 and Documentation update by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[#&#8203;1094](https://redirect.github.com/actions/setup-python/pull/1094)
- Upgrade actions/publish-action from 0.3.0 to 0.4.0 & Documentation
update for pip-install input by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[#&#8203;1199](https://redirect.github.com/actions/setup-python/pull/1199)
- Upgrade requests from 2.32.2 to 2.32.4 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[#&#8203;1130](https://redirect.github.com/actions/setup-python/pull/1130)
- Upgrade prettier from 3.5.3 to 3.6.2 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[#&#8203;1234](https://redirect.github.com/actions/setup-python/pull/1234)
- Upgrade [@&#8203;types/node](https://redirect.github.com/types/node)
from 24.1.0 to 24.9.1 and update macos-13 to macos-15-intel by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[#&#8203;1235](https://redirect.github.com/actions/setup-python/pull/1235)

##### New Contributors

- [@&#8203;yarikoptic](https://redirect.github.com/yarikoptic) made
their first contribution in
[#&#8203;979](https://redirect.github.com/actions/setup-python/pull/979)

**Full Changelog**:
<actions/setup-python@v6...v6.1.0>

</details>

<details>
<summary>docker/setup-qemu-action (docker/setup-qemu-action)</summary>

###
[`v3.7.0`](https://redirect.github.com/docker/setup-qemu-action/releases/tag/v3.7.0)

[Compare
Source](https://redirect.github.com/docker/setup-qemu-action/compare/v3.6.0...v3.7.0)

- Bump
[@&#8203;docker/actions-toolkit](https://redirect.github.com/docker/actions-toolkit)
from 0.56.0 to 0.67.0 in
[#&#8203;217](https://redirect.github.com/docker/setup-qemu-action/pull/217)
[#&#8203;230](https://redirect.github.com/docker/setup-qemu-action/pull/230)
- Bump brace-expansion from 1.1.11 to 1.1.12 in
[#&#8203;220](https://redirect.github.com/docker/setup-qemu-action/pull/220)
- Bump form-data from 2.5.1 to 2.5.5 in
[#&#8203;218](https://redirect.github.com/docker/setup-qemu-action/pull/218)
- Bump tmp from 0.2.3 to 0.2.4 in
[#&#8203;221](https://redirect.github.com/docker/setup-qemu-action/pull/221)
- Bump undici from 5.28.4 to 5.29.0 in
[#&#8203;219](https://redirect.github.com/docker/setup-qemu-action/pull/219)

**Full Changelog**:
<docker/setup-qemu-action@v3.6.0...v3.7.0>

</details>

<details>
<summary>github/codeql-action (github/codeql-action)</summary>

###
[`v4.31.8`](https://redirect.github.com/github/codeql-action/releases/tag/v4.31.8)

[Compare
Source](https://redirect.github.com/github/codeql-action/compare/v4.31.7...v4.31.8)

##### CodeQL Action Changelog

See the [releases
page](https://redirect.github.com/github/codeql-action/releases) for the
relevant changes to the CodeQL CLI and language packs.

##### 4.31.8 - 11 Dec 2025

- Update default CodeQL bundle version to 2.23.8.
[#&#8203;3354](https://redirect.github.com/github/codeql-action/pull/3354)

See the full
[CHANGELOG.md](https://redirect.github.com/github/codeql-action/blob/v4.31.8/CHANGELOG.md)
for more information.

###
[`v4.31.7`](https://redirect.github.com/github/codeql-action/releases/tag/v4.31.7)

[Compare
Source](https://redirect.github.com/github/codeql-action/compare/v4.31.6...v4.31.7)

##### CodeQL Action Changelog

See the [releases
page](https://redirect.github.com/github/codeql-action/releases) for the
relevant changes to the CodeQL CLI and language packs.

##### 4.31.7 - 05 Dec 2025

- Update default CodeQL bundle version to 2.23.7.
[#&#8203;3343](https://redirect.github.com/github/codeql-action/pull/3343)

See the full
[CHANGELOG.md](https://redirect.github.com/github/codeql-action/blob/v4.31.7/CHANGELOG.md)
for more information.

###
[`v4.31.6`](https://redirect.github.com/github/codeql-action/releases/tag/v4.31.6)

[Compare
Source](https://redirect.github.com/github/codeql-action/compare/v4.31.5...v4.31.6)

##### CodeQL Action Changelog

See the [releases
page](https://redirect.github.com/github/codeql-action/releases) for the
relevant changes to the CodeQL CLI and language packs.

##### 4.31.6 - 01 Dec 2025

No user facing changes.

See the full
[CHANGELOG.md](https://redirect.github.com/github/codeql-action/blob/v4.31.6/CHANGELOG.md)
for more information.

###
[`v4.31.5`](https://redirect.github.com/github/codeql-action/releases/tag/v4.31.5)

[Compare
Source](https://redirect.github.com/github/codeql-action/compare/v4.31.4...v4.31.5)

##### CodeQL Action Changelog

See the [releases
page](https://redirect.github.com/github/codeql-action/releases) for the
relevant changes to the CodeQL CLI and language packs.

##### 4.31.5 - 24 Nov 2025

- Update default CodeQL bundle version to 2.23.6.
[#&#8203;3321](https://redirect.github.com/github/codeql-action/pull/3321)

See the full
[CHANGELOG.md](https://redirect.github.com/github/codeql-action/blob/v4.31.5/CHANGELOG.md)
for more information.

###
[`v4.31.4`](https://redirect.github.com/github/codeql-action/releases/tag/v4.31.4)

[Compare
Source](https://redirect.github.com/github/codeql-action/compare/v4.31.3...v4.31.4)

##### CodeQL Action Changelog

See the [releases
page](https://redirect.github.com/github/codeql-action/releases) for the
relevant changes to the CodeQL CLI and language packs.

##### 4.31.4 - 18 Nov 2025

No user facing changes.

See the full
[CHANGELOG.md](https://redirect.github.com/github/codeql-action/blob/v4.31.4/CHANGELOG.md)
for more information.

###
[`v4.31.3`](https://redirect.github.com/github/codeql-action/releases/tag/v4.31.3)

[Compare
Source](https://redirect.github.com/github/codeql-action/compare/v4.31.2...v4.31.3)

##### CodeQL Action Changelog

See the [releases
page](https://redirect.github.com/github/codeql-action/releases) for the
relevant changes to the CodeQL CLI and language packs.

##### 4.31.3 - 13 Nov 2025

- CodeQL Action v3 will be deprecated in December 2026. The Action now
logs a warning for customers who are running v3 but could be running v4.
For more information, see [Upcoming deprecation of CodeQL Action
v3](https://github.blog/changelog/2025-10-28-upcoming-deprecation-of-codeql-action-v3/).
- Update default CodeQL bundle version to 2.23.5.
[#&#8203;3288](https://redirect.github.com/github/codeql-action/pull/3288)

See the full
[CHANGELOG.md](https://redirect.github.com/github/codeql-action/blob/v4.31.3/CHANGELOG.md)
for more information.

###
[`v4.31.2`](https://redirect.github.com/github/codeql-action/compare/v4.31.1...v4.31.2)

[Compare
Source](https://redirect.github.com/github/codeql-action/compare/v4.31.1...v4.31.2)

###
[`v4.31.1`](https://redirect.github.com/github/codeql-action/compare/v4.31.0...v4.31.1)

[Compare
Source](https://redirect.github.com/github/codeql-action/compare/v4.31.0...v4.31.1)

###
[`v4.31.0`](https://redirect.github.com/github/codeql-action/compare/v4.30.9...v4.31.0)

[Compare
Source](https://redirect.github.com/github/codeql-action/compare/v4.30.9...v4.31.0)

###
[`v4.30.9`](https://redirect.github.com/github/codeql-action/releases/tag/v4.30.9)

[Compare
Source](https://redirect.github.com/github/codeql-action/compare/v4.30.8...v4.30.9)

##### CodeQL Action Changelog

See the [releases
page](https://redirect.github.com/github/codeql-action/releases) for the
relevant changes to the CodeQL CLI and language packs.

##### 4.30.9 - 17 Oct 2025

- Update default CodeQL bundle version to 2.23.3.
[#&#8203;3205](https://redirect.github.com/github/codeql-action/pull/3205)
- Experimental: A new `setup-codeql` action has been added which is
similar to `init`, except it only installs the CodeQL CLI and does not
initialize a database. Do not use this in production as it is part of an
internal experiment and subject to change at any time.
[#&#8203;3204](https://redirect.github.com/github/codeql-action/pull/3204)

See the full
[CHANGELOG.md](https://redirect.github.com/github/codeql-action/blob/v4.30.9/CHANGELOG.md)
for more information.

</details>

<details>
<summary>step-security/harden-runner
(step-security/harden-runner)</summary>

###
[`v2.14.0`](https://redirect.github.com/step-security/harden-runner/releases/tag/v2.14.0)

[Compare
Source](https://redirect.github.com/step-security/harden-runner/compare/v2.13.3...v2.14.0)

##### What's Changed

- Selective installation: Harden-Runner now skips installation on
GitHub-hosted runners when the repository has a custom property
skip\_harden\_runner, allowing organizations to opt out specific repos.
- Avoid double install: The action no longer installs Harden-Runner if
it’s already present on a GitHub-hosted runner, which could happen when
a composite action also installs it.

**Full Changelog**:
<step-security/harden-runner@v2.13.3...v2.14.0>

###
[`v2.13.3`](https://redirect.github.com/step-security/harden-runner/releases/tag/v2.13.3)

[Compare
Source](https://redirect.github.com/step-security/harden-runner/compare/v2.13.2...v2.13.3)

##### What's Changed

- Fixed an issue where process events were not uploaded in certain edge
cases.

**Full Changelog**:
<step-security/harden-runner@v2.13.2...v2.13.3>

###
[`v2.13.2`](https://redirect.github.com/step-security/harden-runner/releases/tag/v2.13.2)

[Compare
Source](https://redirect.github.com/step-security/harden-runner/compare/v2.13.1...v2.13.2)

##### What's Changed

- Fixed an issue where there was a limit of 512 allowed endpoints when
using block egress policy. This restriction has been removed, allowing
for an unlimited number of endpoints to be configured.
- Harden Runner now automatically detects if the agent is already
pre-installed on a custom VM image used by a GitHub-hosted runner. When
detected, the action will skip reinstallation and use the existing
agent.

**Full Changelog**:
<step-security/harden-runner@v2.13.1...v2.13.2>

###
[`v2.13.1`](https://redirect.github.com/step-security/harden-runner/releases/tag/v2.13.1)

[Compare
Source](https://redirect.github.com/step-security/harden-runner/compare/v2.13.0...v2.13.1)

#### What's Changed

- Graceful handling of HTTP errors: Improved error handling when
fetching Harden Runner policies from the StepSecurity Policy Store API,
ensuring more reliable execution even in case of temporary network/API
issues.

- Security updates for npm dependencies: Updated vulnerable npm package
dependencies to the latest secure versions.

- Faster enterprise agent downloads: The enterprise agent is now
downloaded from GitHub Releases instead of packages.stepsecurity.io,
improving download speed and reliability.

**Full Changelog**:
<step-security/harden-runner@v2.13.0...v2.13.1>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on the first day of the month" (UTC),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/jaegertracing/jaeger).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41NC4yIiwidXBkYXRlZEluVmVyIjoiNDIuNTQuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2hhbmdlbG9nOmRlcGVuZGVuY2llcyJdfQ==-->

Signed-off-by: Mend Renovate <[email protected]>
Signed-off-by: SoumyaRaikwar <[email protected]>
…ertracing#7550)

## Which problem is this PR solving?
Resolves jaegertracing#7223

## Description of the changes
 a. Add IndexSpanAlias and IndexServiceAlias config fields
 b. Use explicit aliases when provided instead of prefix pattern

## How was this change tested?
Through local testing

## Checklist
- [✅ ] I have read
https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
- [ ✅] I have signed all commits
- [ ✅] I have added unit tests for the new functionality
- [✅ ] I have run lint and test steps successfully
  - for `jaeger`: `make lint test`
  - for `jaeger-ui`: `npm run lint` and `npm run test`

---------

Signed-off-by: Somil Jain <[email protected]>
Co-authored-by: Yuri Shkuro <[email protected]>
Signed-off-by: SoumyaRaikwar <[email protected]>
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [go](https://go.dev/)
([source](https://redirect.github.com/golang/go)) | toolchain | patch |
`1.25.4` -> `1.25.5` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>golang/go (go)</summary>

###
[`v1.25.5`](https://redirect.github.com/golang/go/compare/go1.25.4...go1.25.5)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on the first day of the month" (UTC),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/jaegertracing/jaeger).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41NC4yIiwidXBkYXRlZEluVmVyIjoiNDIuNTQuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2hhbmdlbG9nOmRlcGVuZGVuY2llcyJdfQ==-->

Signed-off-by: Mend Renovate <[email protected]>
Signed-off-by: SoumyaRaikwar <[email protected]>
…ertracing#7735)

This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[github.com/vektra/mockery/v3](https://redirect.github.com/vektra/mockery)
| `v3.5.0` -> `v3.6.1` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fvektra%2fmockery%2fv3/v3.6.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fvektra%2fmockery%2fv3/v3.5.0/v3.6.1?slim=true)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>vektra/mockery (github.com/vektra/mockery/v3)</summary>

###
[`v3.6.1`](https://redirect.github.com/vektra/mockery/releases/tag/v3.6.1)

[Compare
Source](https://redirect.github.com/vektra/mockery/compare/v3.6.0...v3.6.1)

#### What's Changed

- Add logs/docs that aid in confusion around auto-generated files by
[@&#8203;LandonTClipp](https://redirect.github.com/LandonTClipp) in
[#&#8203;1128](https://redirect.github.com/vektra/mockery/pull/1128)

**Full Changelog**:
<vektra/mockery@v3.6.0...v3.6.1>

###
[`v3.6.0`](https://redirect.github.com/vektra/mockery/releases/tag/v3.6.0)

[Compare
Source](https://redirect.github.com/vektra/mockery/compare/v3.5.5...v3.6.0)

#### What's Changed

- Fix autogenerated code detection by
[@&#8203;rethil](https://redirect.github.com/rethil) in
[#&#8203;1121](https://redirect.github.com/vektra/mockery/pull/1121)
- Add support for overriding configuration through comments on
interfaces by
[@&#8203;paivagustavo](https://redirect.github.com/paivagustavo) in
[#&#8203;1105](https://redirect.github.com/vektra/mockery/pull/1105)

#### New Contributors

- [@&#8203;rethil](https://redirect.github.com/rethil) made their first
contribution in
[#&#8203;1121](https://redirect.github.com/vektra/mockery/pull/1121)

**Full Changelog**:
<vektra/mockery@v3.5.5...v3.6.0>

#### Misc

This release fixes a bug in auto-generated code detection. If mockery
fails to generate mocks for auto-generated files that it previously had,
please use [`include-auto-generated:
true`](https://vektra.github.io/mockery/latest/include-auto-generated/)
in your config.

###
[`v3.5.5`](https://redirect.github.com/vektra/mockery/releases/tag/v3.5.5)

[Compare
Source](https://redirect.github.com/vektra/mockery/compare/v3.5.4...v3.5.5)

#### What's Changed

- Bump github.com/go-viper/mapstructure/v2 to v2.4.0 to address security
concerns by
[@&#8203;RainbowMango](https://redirect.github.com/RainbowMango) in
[#&#8203;1115](https://redirect.github.com/vektra/mockery/pull/1115)
- Fix go.work.sum breaking release by
[@&#8203;LandonTClipp](https://redirect.github.com/LandonTClipp) in
[#&#8203;1116](https://redirect.github.com/vektra/mockery/pull/1116)

**Full Changelog**:
<vektra/mockery@v3.5.4...v3.5.5>

###
[`v3.5.4`](https://redirect.github.com/vektra/mockery/releases/tag/v3.5.4)

[Compare
Source](https://redirect.github.com/vektra/mockery/compare/v3.5.3...v3.5.4)

#### What's Changed

- Remove duplicate config initialize by
[@&#8203;paivagustavo](https://redirect.github.com/paivagustavo) in
[#&#8203;1106](https://redirect.github.com/vektra/mockery/pull/1106)
- fix: yaml invalid by
[@&#8203;dvordrova](https://redirect.github.com/dvordrova) in
[#&#8203;1111](https://redirect.github.com/vektra/mockery/pull/1111)
- Output boilerplate first by
[@&#8203;skitt](https://redirect.github.com/skitt) in
[#&#8203;1096](https://redirect.github.com/vektra/mockery/pull/1096)

#### New Contributors

- [@&#8203;paivagustavo](https://redirect.github.com/paivagustavo) made
their first contribution in
[#&#8203;1106](https://redirect.github.com/vektra/mockery/pull/1106)
- [@&#8203;dvordrova](https://redirect.github.com/dvordrova) made their
first contribution in
[#&#8203;1111](https://redirect.github.com/vektra/mockery/pull/1111)
- [@&#8203;skitt](https://redirect.github.com/skitt) made their first
contribution in
[#&#8203;1096](https://redirect.github.com/vektra/mockery/pull/1096)

**Full Changelog**:
<vektra/mockery@v3.5.3...v3.5.4>

###
[`v3.5.3`](https://redirect.github.com/vektra/mockery/releases/tag/v3.5.3)

[Compare
Source](https://redirect.github.com/vektra/mockery/compare/v3.5.2...v3.5.3)

#### What's Changed

- Support Go 1.25 by
[@&#8203;LandonTClipp](https://redirect.github.com/LandonTClipp) in
[#&#8203;1104](https://redirect.github.com/vektra/mockery/pull/1104)

**Full Changelog**:
<vektra/mockery@v3.5.2...v3.5.3>

###
[`v3.5.2`](https://redirect.github.com/vektra/mockery/releases/tag/v3.5.2)

[Compare
Source](https://redirect.github.com/vektra/mockery/compare/v3.5.1...v3.5.2)

#### What's Changed

- Fix bug with replace-type not working with pointers by
[@&#8203;LandonTClipp](https://redirect.github.com/LandonTClipp) in
[#&#8203;1099](https://redirect.github.com/vektra/mockery/pull/1099)

**Full Changelog**:
<vektra/mockery@v3.5.1...v3.5.2>

###
[`v3.5.1`](https://redirect.github.com/vektra/mockery/releases/tag/v3.5.1)

[Compare
Source](https://redirect.github.com/vektra/mockery/compare/v3.5.0...v3.5.1)

#### What's Changed

- Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;1081](https://redirect.github.com/vektra/mockery/pull/1081)

**Full Changelog**:
<vektra/mockery@v3.5.0...v3.5.1>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on the first day of the month" (UTC),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/jaegertracing/jaeger).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41NC4yIiwidXBkYXRlZEluVmVyIjoiNDIuNTQuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2hhbmdlbG9nOmRlcGVuZGVuY2llcyJdfQ==-->

---------

Signed-off-by: Mend Renovate <[email protected]>
Signed-off-by: Yuri Shkuro <[email protected]>
Co-authored-by: Yuri Shkuro <[email protected]>
Signed-off-by: SoumyaRaikwar <[email protected]>
…utes.json

Co-authored-by: Yuri Shkuro <[email protected]>
Signed-off-by: Soumya Raikwar <[email protected]>
Signed-off-by: SoumyaRaikwar <[email protected]>
Refactored OTLP-specific tests (scope metadata and span links) as nested
subtests within testGetTrace, as suggested in code review. This approach:

- Consolidates all trace validation in testGetTrace using nested subtests
- Tests OTLP scope attributes (name, version, and scope.Attributes())
- Tests OTLP span link attributes (not just link count)
- Uses fixture-based exclusion for backends with limited OTLP support
- Adds OTLPScopeMetadata and OTLPSpanLinks to CassandraSkippedTests

Signed-off-by: SoumyaRaikwar <[email protected]>
…ing#7707)

## Which problem is this PR solving?
- Fixes a part of: jaegertracing#6458

## Description of the changes
- This is a blocker of jaegertracing#7699, we need to refactor `TagFilter` to accept
`dbmodel.Span` rather than `model.Span`

## How was this change tested?
- Unit And Integration Tests

## Checklist
- [x] I have read
https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
- [x] I have signed all commits
- [x] I have added unit tests for the new functionality
- [x] I have run lint and test steps successfully
  - for `jaeger`: `make lint test`
  - for `jaeger-ui`: `npm run lint` and `npm run test`

---------

Signed-off-by: Manik Mehta <[email protected]>
Signed-off-by: SoumyaRaikwar <[email protected]>
…jaegertracing#7737)

OpenTelemetry Collector v1.48.0 changed `exporterhelper.WithQueue()` to
require `configoptional.Optional[QueueBatchConfig]` instead of bare
`QueueBatchConfig`.

## Changes

**Updated storageexporter config:**
- Changed `QueueConfig` field type to
`configoptional.Optional[exporterhelper.QueueBatchConfig]`

**Updated integration test trace writer:**
- Replaced `cfg.QueueConfig.Enabled = false` with `cfg.QueueConfig =
configoptional.None[exporterhelper.QueueBatchConfig]()`

**Upgraded collector-contrib dependencies:**
- All `github.com/open-telemetry/opentelemetry-collector-contrib/*`
packages: v0.141.0 → v0.142.0

## Example

Before:
```go
type Config struct {
    QueueConfig exporterhelper.QueueBatchConfig
}

cfg.QueueConfig.Enabled = false
```

After:
```go
type Config struct {
    QueueConfig configoptional.Optional[exporterhelper.QueueBatchConfig]
}

cfg.QueueConfig = configoptional.None[exporterhelper.QueueBatchConfig]()
```

This unblocks PR jaegertracing#7736 which upgrades core OTEL Collector packages to
v1.48.0/v0.142.0.

> [!WARNING]
>
> <details>
> <summary>Firewall rules blocked me from connecting to one or more
addresses (expand for details)</summary>
>
> #### I tried to connect to the following addresses, but was blocked by
firewall rules:
>
> - `go`
> - Triggering command: `/tmp/go-build2651178536/b2536/services.test
/tmp/go-build2651178536/b2536/services.test
-test.testlogfile=/tmp/go-build2651178536/b2536/testlog.txt
-test.paniconexit0 -test.timeout=10m0s -test.v=true -json GO111MODULE
ind/autofind GOINSECURE pvar GOMODCACHE ind/autofind env -json
GO111MODULE ux-amd64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD
GOMODCACHE ux-amd64/pkg/tool/linux_amd64/vet` (dns block)
>
> If you need me to access, download, or install something from one of
these locations, you can either:
>
> - Configure [Actions setup
steps](https://gh.io/copilot/actions-setup-steps) to set up my
environment, which run before the firewall is enabled
> - Add the appropriate URLs or hosts to the custom allowlist in this
repository's [Copilot coding agent
settings](https://github.com/jaegertracing/jaeger/settings/copilot/coding_agent)
(admins only)
>
> </details>

<!-- START COPILOT CODING AGENT SUFFIX -->

<!-- START COPILOT ORIGINAL PROMPT -->

<details>

<summary>Original prompt</summary>

> This PR breaks the tests, please create a PR that fixes the breaks,
ideally before the actual upgrade (assuming that OTEL followed the
deprecation practice)
>
> jaegertracing#7736

</details>

<!-- START COPILOT CODING AGENT TIPS -->
---

✨ Let Copilot coding agent [set things up for
you](https://github.com/jaegertracing/jaeger/issues/new?title=✨+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot)
— coding agent works faster and does higher quality work when set up for
your repo.

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: yurishkuro <[email protected]>
Signed-off-by: SoumyaRaikwar <[email protected]>
Implements jaegertracing#7063 for memory backend.

Adds support for searching traces using OTLP first-class fields:
- span.status (OK/ERROR)
- span.kind (SERVER/CLIENT/PRODUCER/CONSUMER/INTERNAL)
- scope.name and scope.version
- resource.* (resource attributes with prefix stripping)

Fields are specified via TraceQueryParams.Attributes map using prefixes
(span.*, scope.*, resource.*) and routed to corresponding OTLP fields
instead of being treated as tags.

Maintains backward compatibility with existing errorAttribute.

---------

Signed-off-by: SoumyaRaikwar <[email protected]>
Part of jaegertracing#7540

* Remove redundant legacy `JTracer` struct
* Remove `NoOp()` and `Close()` functions
* Replace `New()` with `NewProvider()` (it is still called from 3
places)
* Change call sites

---------

Signed-off-by: Yuri Shkuro <[email protected]>
Signed-off-by: SoumyaRaikwar <[email protected]>
…ng#7738)

## Which problem is this PR solving?
- Resolves jaegertracing#7432

## Description of the changes
- Added 2 tests for `startAdaptiveStrategyProvider`:
- `TestStartAdaptiveStrategyProviderCreateStoreError` - tests error when
`CreateSamplingStore()` fails
- `TestStartAdaptiveStrategyProviderCreateLockError` - tests error when
`CreateLock()` fails

## How was this change tested?
- Unit tests

- Before:
<img width="945" height="14" alt="Screenshot 2025-12-16 094507"
src="https://github.com/user-attachments/assets/b1d71648-ac39-4d03-a5b2-2d3e9f267444"
/>

- After:
<img width="941" height="14" alt="Screenshot 2025-12-16 094611"
src="https://github.com/user-attachments/assets/810405c8-cd9d-419e-abd1-0b310c342527"
/>

## Checklist
- [x] I have read
https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
- [x] I have signed all commits
- [x] I have added unit tests for the new functionality
- [x] I have run lint and test steps successfully
  - for `jaeger`: `make lint test`
  - for `jaeger-ui`: `npm run lint` and `npm run test`

---------

Signed-off-by: Parship Chowdhury <[email protected]>
Signed-off-by: SoumyaRaikwar <[email protected]>
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| golang | final | patch | `1.25.4-alpine` -> `1.25.5-alpine` |
| golang | stage | patch | `1.25.4-alpine` -> `1.25.5-alpine` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Configuration

📅 **Schedule**: Branch creation - "on the first day of the month" (UTC),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/jaegertracing/jaeger).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41NC4yIiwidXBkYXRlZEluVmVyIjoiNDIuNTQuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2hhbmdlbG9nOmRlcGVuZGVuY2llcyJdfQ==-->

Signed-off-by: Mend Renovate <[email protected]>
Signed-off-by: SoumyaRaikwar <[email protected]>
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/cache](https://redirect.github.com/actions/cache) | action |
major | `v4.3.0` -> `v5.0.1` |
|
[actions/upload-artifact](https://redirect.github.com/actions/upload-artifact)
| action | major | `v5.0.0` -> `v6.0.0` |
|
[actions/upload-artifact](https://redirect.github.com/actions/upload-artifact)
| action | major | `v5` -> `v6` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>actions/cache (actions/cache)</summary>

###
[`v5.0.1`](https://redirect.github.com/actions/cache/compare/v5.0.0...v5.0.1)

[Compare
Source](https://redirect.github.com/actions/cache/compare/v5.0.0...v5.0.1)

###
[`v5.0.0`](https://redirect.github.com/actions/cache/compare/v4.3.0...v5.0.0)

[Compare
Source](https://redirect.github.com/actions/cache/compare/v4.3.0...v5.0.0)

</details>

<details>
<summary>actions/upload-artifact (actions/upload-artifact)</summary>

###
[`v6.0.0`](https://redirect.github.com/actions/upload-artifact/compare/v5.0.0...v6.0.0)

[Compare
Source](https://redirect.github.com/actions/upload-artifact/compare/v5.0.0...v6.0.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on the first day of the month" (UTC),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/jaegertracing/jaeger).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41NC4yIiwidXBkYXRlZEluVmVyIjoiNDIuNTQuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2hhbmdlbG9nOmRlcGVuZGVuY2llcyJdfQ==-->

Signed-off-by: Mend Renovate <[email protected]>
Signed-off-by: SoumyaRaikwar <[email protected]>
Add SkipList configuration for Badger, Elasticsearch, and gRPC storage
backends to skip tests that validate OTLP-specific features not supported
by v1 storage implementations.

Signed-off-by: SoumyaRaikwar <[email protected]>
Signed-off-by: Yuri Shkuro <[email protected]>
Co-authored-by: Yuri Shkuro <[email protected]>
Signed-off-by: SoumyaRaikwar <[email protected]>
the only reason it was still used was to import 3 string constants.
Removing it also removes opentracing-go and hdrhistogram dependencies.

Resolves jaegertracing#3766

Signed-off-by: Yuri Shkuro <[email protected]>
Signed-off-by: SoumyaRaikwar <[email protected]>
…egertracing#7748)

This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[github.com/dgraph-io/badger/v4](https://redirect.github.com/dgraph-io/badger)
| `v4.8.0` -> `v4.9.0` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fdgraph-io%2fbadger%2fv4/v4.9.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fdgraph-io%2fbadger%2fv4/v4.8.0/v4.9.0?slim=true)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>dgraph-io/badger (github.com/dgraph-io/badger/v4)</summary>

###
[`v4.9.0`](https://redirect.github.com/dgraph-io/badger/releases/tag/v4.9.0)

[Compare
Source](https://redirect.github.com/dgraph-io/badger/compare/v4.8.0...v4.9.0)

#### What's Changed

- fix(docs): fix typos by
[@&#8203;kianmeng](https://redirect.github.com/kianmeng) in
[#&#8203;2227](https://redirect.github.com/dgraph-io/badger/pull/2227)
- fix(y): shall always return empty slice rather than nil by
[@&#8203;kooltuoehias](https://redirect.github.com/kooltuoehias) in
[#&#8203;2245](https://redirect.github.com/dgraph-io/badger/pull/2245)
- fix: test.sh error by
[@&#8203;kianmeng](https://redirect.github.com/kianmeng) in
[#&#8203;2225](https://redirect.github.com/dgraph-io/badger/pull/2225)
- fix: typo of abandoned by
[@&#8203;jas4711](https://redirect.github.com/jas4711) in
[#&#8203;2222](https://redirect.github.com/dgraph-io/badger/pull/2222)
- chore(deps): Update go minor and patch by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;2212](https://redirect.github.com/dgraph-io/badger/pull/2212)
- chore(deps): Update dependency node to v22 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;2219](https://redirect.github.com/dgraph-io/badger/pull/2219)
- chore: update the trunk conf file by
[@&#8203;matthewmcneely](https://redirect.github.com/matthewmcneely) in
[#&#8203;2217](https://redirect.github.com/dgraph-io/badger/pull/2217)
- chore(deps): Update go minor and patch by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;2218](https://redirect.github.com/dgraph-io/badger/pull/2218)
- chore(deps): Update actions/checkout action to v5 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;2221](https://redirect.github.com/dgraph-io/badger/pull/2221)
- chore(deps): Update actions (major) by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;2229](https://redirect.github.com/dgraph-io/badger/pull/2229)
- move docs pages in the repo by
[@&#8203;raphael-istari](https://redirect.github.com/raphael-istari) in
[#&#8203;2232](https://redirect.github.com/dgraph-io/badger/pull/2232)
- chore: configure renovate to leave go version as declared by
[@&#8203;matthewmcneely](https://redirect.github.com/matthewmcneely) in
[#&#8203;2235](https://redirect.github.com/dgraph-io/badger/pull/2235)
- chore: change renovate to maintain backwards compatible go version by
[@&#8203;matthewmcneely](https://redirect.github.com/matthewmcneely) in
[#&#8203;2236](https://redirect.github.com/dgraph-io/badger/pull/2236)
- chore: update README.md with correct links and badges by
[@&#8203;matthewmcneely](https://redirect.github.com/matthewmcneely) in
[#&#8203;2239](https://redirect.github.com/dgraph-io/badger/pull/2239)
- chore: add doc for encryption at rest by
[@&#8203;raphael-istari](https://redirect.github.com/raphael-istari) in
[#&#8203;2240](https://redirect.github.com/dgraph-io/badger/pull/2240)
- chore(ci): restrict Dgraph test to core packages only by
[@&#8203;matthewmcneely](https://redirect.github.com/matthewmcneely) in
[#&#8203;2242](https://redirect.github.com/dgraph-io/badger/pull/2242)
- chore: prepare for v4.9.0 release by
[@&#8203;matthewmcneely](https://redirect.github.com/matthewmcneely) in
[#&#8203;2247](https://redirect.github.com/dgraph-io/badger/pull/2247)

#### New Contributors

- [@&#8203;matthewmcneely](https://redirect.github.com/matthewmcneely)
made their first contribution in
[#&#8203;2217](https://redirect.github.com/dgraph-io/badger/pull/2217)
- [@&#8203;jas4711](https://redirect.github.com/jas4711) made their
first contribution in
[#&#8203;2222](https://redirect.github.com/dgraph-io/badger/pull/2222)
- [@&#8203;raphael-istari](https://redirect.github.com/raphael-istari)
made their first contribution in
[#&#8203;2232](https://redirect.github.com/dgraph-io/badger/pull/2232)
- [@&#8203;kianmeng](https://redirect.github.com/kianmeng) made their
first contribution in
[#&#8203;2225](https://redirect.github.com/dgraph-io/badger/pull/2225)
- [@&#8203;kooltuoehias](https://redirect.github.com/kooltuoehias) made
their first contribution in
[#&#8203;2245](https://redirect.github.com/dgraph-io/badger/pull/2245)

**Full Changelog**:
<dgraph-io/badger@v4.8.0...v4.9.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on the first day of the month" (UTC),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/jaegertracing/jaeger).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41NC4yIiwidXBkYXRlZEluVmVyIjoiNDIuNTQuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2hhbmdlbG9nOmRlcGVuZGVuY2llcyJdfQ==-->

Signed-off-by: Mend Renovate <[email protected]>
Signed-off-by: SoumyaRaikwar <[email protected]>
Remove label-based filtering which results in the workflow always
showing in PR checks as skipped.

Instead run it on file match, and on manual dispatch.

Signed-off-by: Yuri Shkuro <[email protected]>
Signed-off-by: SoumyaRaikwar <[email protected]>
…ng#7747)

Resolves jaegertracing#7746

Jaeger v1 components (jaeger-collector, jaeger-query, jaeger-ingester)
are deprecated and no longer released. All docker-compose examples must
use the jaeger-v2 unified binary.

## Changes

**kafka setup** - Replaced three v1 components with jaeger-v2 instances:
- `jaeger-collector` → `jaeger-v2` using
`cmd/jaeger/config-kafka-collector.yaml`
- `jaeger-ingester` → `jaeger-v2` using minimal local config for grpc
remote storage
- `jaeger-query` → `jaeger-v2` using `cmd/jaeger/config-query.yaml`

**scylladb setup** - Consolidated separate collector/query services into
single jaeger-v2 instance using `cmd/jaeger/config-cassandra.yaml`

## Configuration Strategy

To maximize reuse of existing configurations:
- **3 existing configs from `cmd/jaeger/` are reused**:
`config-kafka-collector.yaml`, `config-query.yaml`, and
`config-cassandra.yaml`
- **1 minimal local config created** only where no matching config
exists:
- `docker-compose/kafka/jaeger-ingester-remote-storage.yaml` - kafka
receiver with grpc storage (vs memory in existing config)

Both local configs include comments explaining why they're needed.

---------

Signed-off-by: Yuri Shkuro <[email protected]>
Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: yurishkuro <[email protected]>
Co-authored-by: Yuri Shkuro <[email protected]>
Co-authored-by: Yuri Shkuro <[email protected]>
Signed-off-by: SoumyaRaikwar <[email protected]>
Crossdock was only testing integration with various Zipkin exporters.
Since we no longer maintain Zipkin receiver (we use upstream one from
OTEL), there is no value in running crossdock tests.

---------

Signed-off-by: Yuri Shkuro <[email protected]>
Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: yurishkuro <[email protected]>
Signed-off-by: SoumyaRaikwar <[email protected]>
- Convert all test fixtures from Jaeger to OTLP JSON format
- Update getTraceFixture to load OTLP fixtures directly
- Update getTraceFixtureV1 to convert OTLP to v1 via iterator
- Add OTLP-specific test fixtures:
  - otlp_scope_attributes.json for InstrumentationScope metadata
  - otlp_span_links.json for span link attributes
- Add OTLP test cases in testGetTrace:
  - OTLPScopeMetadata subtest
  - OTLPSpanLinks subtest
- Fix intValue formatting in attribute fixtures

Signed-off-by: SoumyaRaikwar <[email protected]>
@SoumyaRaikwar SoumyaRaikwar force-pushed the feature/upgrade-integration-tests-v2 branch from f0a1cf2 to 900a9d7 Compare December 18, 2025 08:43
@SoumyaRaikwar
Copy link
Contributor Author

@yurishkuro sorry for the noise

@SoumyaRaikwar
Copy link
Contributor Author

Closing this PR as it got messy with multiple rebases and conflicts. I've created a clean PR with a better approach for #7050.

New PR: #7761 - Focuses on removing v1 downgrades from integration test read paths as the first step in a 2-PR migration strategy.

The OTLP Scope metadata validation work from this PR may be revisited as a follow-up enhancement after the core migration is complete.

Thanks for the reviews and guidance, @yurishkuro!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/storage changelog:ci Change related to continuous integration / testing v2

Projects

None yet

Development

Successfully merging this pull request may close these issues.