diff --git a/.github/workflows/publish-central.yml b/.github/workflows/publish-central.yml
index f1f608a..79d2d8e 100644
--- a/.github/workflows/publish-central.yml
+++ b/.github/workflows/publish-central.yml
@@ -79,7 +79,7 @@ jobs:
name: publish the existing candidate
needs: [provenance]
runs-on: ubuntu-latest
- timeout-minutes: 15
+ timeout-minutes: 35
environment:
name: central-validation
url: https://central.sonatype.com/publishing/deployments
@@ -99,6 +99,7 @@ jobs:
import time
import urllib.error
import urllib.request
+ import xml.etree.ElementTree as ET
version = os.environ['VERSION']
deployment = os.environ['DEPLOYMENT_ID']
@@ -127,22 +128,38 @@ jobs:
assert status['deploymentName'] == 'io.github.chomingi:langfuse-otel-java:' + version, 'Unexpected deployment name'
expected = {'pkg:maven/io.github.chomingi/' + artifact + '@' + version for artifact in
('langfuse-otel-java', 'langfuse-otel-core', 'langfuse-otel-spring-boot-starter')}
- assert expected.issubset(set(status.get('purls', []))), 'Missing expected Maven coordinates'
state = status['deploymentState']
+ print('Central state:', state, 'coordinates:', status.get('purls', []), flush=True)
if state == 'VALIDATED':
+ coordinates = {purl.split('?', 1)[0].split('#', 1)[0] for purl in status.get('purls', [])}
+ assert expected.issubset(coordinates), 'Missing expected Maven coordinates'
post('/deployment/' + deployment)
elif state not in ('PUBLISHING', 'PUBLISHED'):
raise SystemExit('Refusing to publish state ' + state)
- deadline = time.monotonic() + 600
+ deadline = time.monotonic() + 1800
while state != 'PUBLISHED':
if time.monotonic() >= deadline:
raise SystemExit('Publication is still pending; inspect this deployment before retrying.')
time.sleep(15)
status = post('/status?id=' + deployment)
state = status['deploymentState']
+ print('Central state:', state, flush=True)
if state not in ('VALIDATED', 'PUBLISHING', 'PUBLISHED'):
raise SystemExit('Unexpected publication state ' + state)
+
+ # Verify already-published coordinates from the public POMs. Keep the PURL check before
+ # publication, and never send Central credentials to the public repository.
+ ns = {'m': 'http://maven.apache.org/POM/4.0.0'}
+ for artifact in ('langfuse-otel-java', 'langfuse-otel-core', 'langfuse-otel-spring-boot-starter'):
+ url = ('https://repo.maven.apache.org/maven2/io/github/chomingi/' + artifact + '/' +
+ version + '/' + artifact + '-' + version + '.pom')
+ with client.open(urllib.request.Request(url), timeout=30) as response:
+ pom = ET.fromstring(response.read())
+ group = pom.findtext('m:groupId', namespaces=ns) or pom.findtext('m:parent/m:groupId', namespaces=ns)
+ pom_version = pom.findtext('m:version', namespaces=ns) or pom.findtext('m:parent/m:version', namespaces=ns)
+ assert group == 'io.github.chomingi' and pom_version == version, 'Unexpected public POM identity'
+ assert pom.findtext('m:artifactId', namespaces=ns) == artifact, 'Unexpected public artifact'
with open(os.environ['GITHUB_STEP_SUMMARY'], 'a') as summary:
summary.write('Maven Central deployment `' + deployment + '` is **PUBLISHED**.\n')
summary.write('Verify public consumer resolution before publishing the GitHub draft.\n')
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d066bdf..9c1c89a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,11 @@
## [Unreleased]
+### Fixed
+
+- Verify published Central coordinates through public POMs when resuming publication; retain
+ validation-time coordinate checks before publishing and allow up to 30 minutes for synchronization.
+
## [0.2.2] - 2026-09-25
### Added
diff --git a/OBSERVATION-VALIDATION.md b/OBSERVATION-VALIDATION.md
index e82d709..49c6d3b 100644
--- a/OBSERVATION-VALIDATION.md
+++ b/OBSERVATION-VALIDATION.md
@@ -186,3 +186,9 @@ The release retains that update and aligns the observation consumer and SDK test
The September 23–24 evidence above remains evidence for 1.62.0; it must not be relabeled as
1.66.0 performance evidence. Release CI reruns contracts, consumer tests and Langfuse read-back
with 1.66.0. The optional sustained-load workflow records its actual runtime separately.
+
+The exact 0.2.2 release commit subsequently passed the hosted Java 17/Linux two-hour profile with
+OpenTelemetry 1.66.0: 21,600,000 measured observations, no loss in NORMAL windows, all intentional
+fault/overload losses accounted for, and no retained sampled observations. The public core JAR's
+SHA-256 matches the tested JAR. See [RELEASE-0.2.2.md](RELEASE-0.2.2.md) for release CI, read-back,
+public consumer checks, runtime conditions and the preserved measurement JSON.
diff --git a/RELEASE-0.2.2.md b/RELEASE-0.2.2.md
new file mode 100644
index 0000000..f8d2d55
--- /dev/null
+++ b/RELEASE-0.2.2.md
@@ -0,0 +1,79 @@
+# 0.2.2 release audit
+
+Release commit: `bef979f3f0238daf500da6998a07a1bd3f3b08c8`.
+GitHub-verified signed tag: `v0.2.2`, tag object `ce5b47912215fe94cb5e5743590df23ee512d410`.
+OpenTelemetry: `1.66.0`. Existing fluent APIs and starter defaults remain supported.
+
+## Release gates
+
+| Gate | Evidence |
+|---|---|
+| PR CI | [36120540570](https://github.com/ChoMinGi/langfuse-otel-java/actions/runs/36120540570) |
+| Exact main commit CI | [36120934747](https://github.com/ChoMinGi/langfuse-otel-java/actions/runs/36120934747) |
+| Signed-tag release gates and Central validation | [36125603878](https://github.com/ChoMinGi/langfuse-otel-java/actions/runs/36125603878) |
+| Hosted sustained-load profile | [36120945616](https://github.com/ChoMinGi/langfuse-otel-java/actions/runs/36120945616) |
+
+All four runs passed. Checks include Java 11/17/21, supported Spring AI/LangChain4j combinations,
+package/Javadoc/coverage/API compatibility, consumers, operational contracts, static analysis,
+licenses and the vulnerability gate (zero High/Critical findings at release scan time).
+The independent Langfuse 4.41.0 Docker read-back gate passed on both main and the signed tag;
+the optional shared-project export smoke was skipped and is not counted as read-back evidence.
+
+## Exact-commit Langfuse read-back
+
+Four synthetic traces each contained CHAIN root, GENERATION and TOOL observations. Capture-on/off,
+hierarchy, metadata search, shared fields and usage were checked. Every observation carried the
+full release commit as its version and `0.2.2` as its release. Main CI trace IDs:
+
+- Explicit API, capture on: `ff45f65b2f84285c301971c154f7868b`
+- Explicit API, capture off: `922cbc6a1a2e9d95cfc1fe7037b55a37`
+- Raw helpers, capture on: `512f4091223f940b17ccf882259d95b0`
+- Raw helpers, capture off: `5322055fe5fec1ca73bf3f14959a80b8`
+
+## Release artifact load validation
+
+Hosted Ubuntu/Linux amd64, Java `17.0.20.1+1`, four available processors, 128–512 MiB JVM heap,
+32 producer threads, two owned SDK batch workers, fixed 1 KiB input/output and 3,000 offered ops/s.
+Ten-minute warmup followed by `7,200.03646041` measured seconds across 24 windows.
+The full run took `7,889.848130994` monotonic seconds; maximum wall/monotonic divergence was 1 ms.
+
+| Receiver | Observations | Failed export spans | Queue drops | Window p99 recording latency |
+|---|---:|---:|---:|---:|
+| NORMAL, 60 minutes | 10,800,000 | 0 | 0 | 15.791–17.663 µs |
+| 503, 30 minutes | 5,400,000 | 115,200 | 5,273,536 | 15.247–16.319 µs |
+| SLOW 200 ms, 30 minutes | 5,400,000 | 0 | 876,064 | 13.095–17.647 µs |
+
+All 21,600,000 observations were accounted for: 15,335,200 accepted including recovery/drain,
+115,200 failed exports and 6,149,600 bounded-queue drops. Queue loss is intentional under the
+injected faults/overload; this is not durable or exactly-once delivery. Post-GC live heap ranged
+11.23–11.51 MiB, idle JVM thread count stayed at 53, and all 768 sampled ended observations were
+collectible. Percentiles cover producer recording calls, excluding pacing, flush and networking.
+This is one controlled receiver configuration, not a maximum-throughput, Langfuse capacity or
+universal leak-free guarantee. It must not be compared directly with the earlier macOS/1.62.0 run.
+
+[Raw measurements](experiments/core-operations/evidence/2026-09-25-release/load-soak.json) and
+[validated summary](experiments/core-operations/evidence/2026-09-25-release/load-soak-summary.json)
+are preserved in the repository.
+
+## Maven Central verification
+
+Deployment: `dd04b703-820b-4368-8cf9-252f0893506d`.
+The upload included the signed parent POM, both module artifacts/sources/Javadocs and signed
+CycloneDX SBOM. Public coordinates were resolved on 2026-09-25 UTC into a new temporary Maven
+repository without installing the local reactor. The published artifacts passed Spring AI consumer
+(2 tests), LangChain4j consumer (2 tests) and explicit observation consumer (5 tests).
+
+The published core JAR SHA-256 exactly matches the JAR used in the hosted two-hour run:
+
+```text
+0ecd199be1066fbb0f9e80befdeb2ee6d40933e7e997f3a5bbfa253632f96c4a
+```
+
+The initial publication status poll exceeded ten minutes. Resuming exposed an overly strict
+assumption that validation-time PURLs would be unchanged after publication. The publication workflow
+now retains the prepublication PURL check, verifies already-published coordinates through public
+POMs, and allows thirty minutes for synchronization. No artifact was rebuilt or re-uploaded.
+
+See the [GitHub release](https://github.com/ChoMinGi/langfuse-otel-java/releases/tag/v0.2.2),
+[core artifact](https://central.sonatype.com/artifact/io.github.chomingi/langfuse-otel-core/0.2.2)
+and [starter artifact](https://central.sonatype.com/artifact/io.github.chomingi/langfuse-otel-spring-boot-starter/0.2.2).
diff --git a/RELEASING.md b/RELEASING.md
index d5e2261..ef212a5 100644
--- a/RELEASING.md
+++ b/RELEASING.md
@@ -232,8 +232,9 @@ Alternatively, a maintainer can dispatch **Publish validated Central candidate**
rebuild artifacts or upload another bundle. Before credentials are exposed it verifies the signed
tag, main ancestry, successful release run containing that deployment ID, and a successful sustained-load
run for the exact release commit. It then checks the Central deployment name and Maven coordinates,
-publishes only a validated candidate, and waits for `PUBLISHED`. A retry can resume polling an
-already-publishing/published candidate. Public consumer resolution and GitHub draft publication remain
+publishes only a validated candidate, and waits up to 30 minutes for `PUBLISHED`. A retry can resume polling an
+already-publishing/published candidate. Published coordinates are checked independently through public POMs;
+Central authentication headers are never sent to the public repository. Public consumer resolution and GitHub draft publication remain
separate final steps.
```bash
diff --git a/ROADMAP.md b/ROADMAP.md
index 5e31427..63ce19b 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -40,7 +40,8 @@ release gates in [RELEASING.md](RELEASING.md).
Phase-0 evidence: [CORE-PREFLIGHT.md](CORE-PREFLIGHT.md). API contract: [OBSERVATION-API.md](OBSERVATION-API.md).
Implementation and operational evidence: [OBSERVATION-VALIDATION.md](OBSERVATION-VALIDATION.md).
-Release publication follows the gated process in [RELEASING.md](RELEASING.md).
+Published artifacts are available from Maven Central. See the [release audit](RELEASE-0.2.2.md).
+Development continues on `0.2.3-SNAPSHOT`, with API compatibility checked against `0.2.2`.
## Deferred — Spring Boot 4 adapter line
diff --git a/consumer-tests/core-observation-consumer/pom.xml b/consumer-tests/core-observation-consumer/pom.xml
index 18db621..7e24636 100644
--- a/consumer-tests/core-observation-consumer/pom.xml
+++ b/consumer-tests/core-observation-consumer/pom.xml
@@ -10,7 +10,7 @@
UTF-8
11
- 0.2.2
+ 0.2.3-SNAPSHOT
5.9.3
diff --git a/consumer-tests/core-prompt-consumer/pom.xml b/consumer-tests/core-prompt-consumer/pom.xml
index f1b43cb..4d46b9e 100644
--- a/consumer-tests/core-prompt-consumer/pom.xml
+++ b/consumer-tests/core-prompt-consumer/pom.xml
@@ -10,7 +10,7 @@
UTF-8
11
- 0.2.2
+ 0.2.3-SNAPSHOT
5.9.3
diff --git a/consumer-tests/langchain4j-spring-boot-consumer/pom.xml b/consumer-tests/langchain4j-spring-boot-consumer/pom.xml
index 9f2ecaa..1badab5 100644
--- a/consumer-tests/langchain4j-spring-boot-consumer/pom.xml
+++ b/consumer-tests/langchain4j-spring-boot-consumer/pom.xml
@@ -17,7 +17,7 @@
17
4.1.138.Final
10.1.59
- 0.2.2
+ 0.2.3-SNAPSHOT
1.0.0
1.3.2-alpha
diff --git a/consumer-tests/spring-boot-consumer/pom.xml b/consumer-tests/spring-boot-consumer/pom.xml
index dbaf59c..2dad380 100644
--- a/consumer-tests/spring-boot-consumer/pom.xml
+++ b/consumer-tests/spring-boot-consumer/pom.xml
@@ -17,7 +17,7 @@
17
4.1.138.Final
10.1.59
- 0.2.2
+ 0.2.3-SNAPSHOT
1.0.9
1.3.2-alpha
diff --git a/examples/langchain4j-example/pom.xml b/examples/langchain4j-example/pom.xml
index f87af79..4a1ca8c 100644
--- a/examples/langchain4j-example/pom.xml
+++ b/examples/langchain4j-example/pom.xml
@@ -18,7 +18,7 @@
4.1.138.Final
10.1.59
2.21.5
- 0.2.2
+ 0.2.3-SNAPSHOT
diff --git a/examples/spring-ai-example/pom.xml b/examples/spring-ai-example/pom.xml
index 14ab220..e52ae9d 100644
--- a/examples/spring-ai-example/pom.xml
+++ b/examples/spring-ai-example/pom.xml
@@ -18,7 +18,7 @@
4.1.138.Final
10.1.59
2.21.5
- 0.2.2
+ 0.2.3-SNAPSHOT
diff --git a/experiments/core-operations/evidence/2026-09-25-release/load-soak-summary.json b/experiments/core-operations/evidence/2026-09-25-release/load-soak-summary.json
new file mode 100644
index 0000000..0b3b59d
--- /dev/null
+++ b/experiments/core-operations/evidence/2026-09-25-release/load-soak-summary.json
@@ -0,0 +1,82 @@
+{
+ "file": "experiments/core-operations/target/operations/load-soak.json",
+ "clockChecksPassed": true,
+ "groups": [
+ {
+ "recording": "body",
+ "receiver": "NORMAL",
+ "concurrency": 32,
+ "samples": 12,
+ "operations": 10800000,
+ "measuredSeconds": 3600.0195664479998,
+ "opsPerSecond": 2999.983694715288,
+ "p99MicrosRange": [
+ 15.791,
+ 17.663
+ ],
+ "producerBytesPerOp": 2152.0022755555556,
+ "postGcHeapBytesRange": [
+ 11780160,
+ 12066360
+ ],
+ "threadCountRange": [
+ 53,
+ 53
+ ],
+ "queueDrops": 0,
+ "failedExportSpans": 0
+ },
+ {
+ "recording": "body",
+ "receiver": "UNAVAILABLE",
+ "concurrency": 32,
+ "samples": 6,
+ "operations": 5400000,
+ "measuredSeconds": 1800.008558947,
+ "opsPerSecond": 2999.9857351561623,
+ "p99MicrosRange": [
+ 15.247,
+ 16.319
+ ],
+ "producerBytesPerOp": 2152.0484533333333,
+ "postGcHeapBytesRange": [
+ 12034248,
+ 12062168
+ ],
+ "threadCountRange": [
+ 53,
+ 53
+ ],
+ "queueDrops": 5273536,
+ "failedExportSpans": 115200
+ },
+ {
+ "recording": "body",
+ "receiver": "SLOW",
+ "concurrency": 32,
+ "samples": 6,
+ "operations": 5400000,
+ "measuredSeconds": 1800.008335015,
+ "opsPerSecond": 2999.986108372659,
+ "p99MicrosRange": [
+ 13.095,
+ 17.647
+ ],
+ "producerBytesPerOp": 2152.0022755555556,
+ "postGcHeapBytesRange": [
+ 12028656,
+ 12064240
+ ],
+ "threadCountRange": [
+ 53,
+ 53
+ ],
+ "queueDrops": 876064,
+ "failedExportSpans": 0
+ }
+ ],
+ "measurementSecondsRequested": 7200,
+ "warmupSecondsRequested": 600,
+ "twoHourProfileCompleted": true,
+ "note": "p99 range is across windows, not a merged percentile. Allocation is producer-thread only."
+}
diff --git a/experiments/core-operations/evidence/2026-09-25-release/load-soak.json b/experiments/core-operations/evidence/2026-09-25-release/load-soak.json
new file mode 100644
index 0000000..cd5e9c9
--- /dev/null
+++ b/experiments/core-operations/evidence/2026-09-25-release/load-soak.json
@@ -0,0 +1,830 @@
+{
+ "environment" : {
+ "startedAt" : "2026-09-25T09:54:49.402096617Z",
+ "java" : "17.0.20.1+1",
+ "vm" : "OpenJDK 64-Bit Server VM",
+ "os" : "Linux 6.17.0-1022-azure",
+ "arch" : "amd64",
+ "processors" : 4,
+ "maxHeapBytes" : 536870912,
+ "vmArguments" : [ "-Xms128m", "-Xmx512m" ],
+ "profile" : "soak",
+ "allocationSupported" : true,
+ "clockDivergenceLimitMillis" : 2000,
+ "prestartedWorkerThreads" : 32,
+ "executedClassSha256" : {
+ "io.github.chomingi.langfuse.otel.LangfuseObservation" : "46eb34df78a253a6ad7b1106ccb154c2f25bdd1063e3a29697ac2e62f1e867cb",
+ "io.github.chomingi.langfuse.otel.LangfuseOtel" : "7f873e57ad0a8e81b782834a1906397ccffd00994c77c9e95e0692dda5a66382",
+ "operations.LoadTest" : "60785b1e9ba7d9b263983ed60fc1082093402b342422b4607c63a901fb1f8148",
+ "operations.LocalOtlpReceiver" : "22817822e6563ba365b7ea5a6d3967d9ae4b39a3daed3c11dd7312ff270c5bd2",
+ "operations.TimingGuard" : "a8b0ccec04cc91896a9d70c4298f86b719c068cffdc668bc34160c4c92254c70"
+ },
+ "coreArtifactSha256" : "0ecd199be1066fbb0f9e80befdeb2ee6d40933e7e997f3a5bbfa253632f96c4a",
+ "warmup" : {
+ "recording" : "body",
+ "receiver" : "NORMAL",
+ "concurrency" : 32,
+ "requestedSeconds" : 600,
+ "measuredSeconds" : 600.015778616,
+ "wallMeasuredSeconds" : 600.016,
+ "gcCollectionsDuringPhase" : 335,
+ "gcMillisDuringPhase" : 545,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 1799968,
+ "opsPerSecond" : 2999.8677770638246,
+ "p50Nanos" : 1788,
+ "p95Nanos" : 3799,
+ "p99Nanos" : 9999,
+ "maxNanos" : 23461887,
+ "producerAllocatedBytesPerOp" : 2153.770978150723,
+ "acceptedBeforeRecovery" : 1799968,
+ "failedSpansBeforeRecovery" : 0,
+ "queueDropsBeforeRecovery" : 0,
+ "acceptedIncludingDrain" : 1799968,
+ "failedSpansIncludingDrain" : 0,
+ "queueDropsIncludingDrain" : 0,
+ "httpRequestsIncludingDrain" : 3516,
+ "postGcLiveHeapBytes" : 11746312,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T10:04:50.357452088Z"
+ },
+ "finishedAt" : "2026-09-25T12:06:19.250046790Z"
+ },
+ "complete" : true,
+ "elapsedSeconds" : 7889.848130994,
+ "wallElapsedSeconds" : 7889.86,
+ "maxClockDivergenceMillis" : 1,
+ "measurements" : [ {
+ "recording" : "body",
+ "receiver" : "NORMAL",
+ "concurrency" : 32,
+ "requestedSeconds" : 300,
+ "measuredSeconds" : 300.002447448,
+ "wallMeasuredSeconds" : 300.003,
+ "gcCollectionsDuringPhase" : 166,
+ "gcMillisDuringPhase" : 254,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 900000,
+ "opsPerSecond" : 2999.9755257196653,
+ "p50Nanos" : 2321,
+ "p95Nanos" : 8831,
+ "p99Nanos" : 17103,
+ "maxNanos" : 1572863,
+ "producerAllocatedBytesPerOp" : 2152.0022755555556,
+ "acceptedBeforeRecovery" : 900000,
+ "failedSpansBeforeRecovery" : 0,
+ "queueDropsBeforeRecovery" : 0,
+ "acceptedIncludingDrain" : 900000,
+ "failedSpansIncludingDrain" : 0,
+ "queueDropsIncludingDrain" : 0,
+ "httpRequestsIncludingDrain" : 1758,
+ "postGcLiveHeapBytes" : 11793560,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T10:09:50.996632919Z",
+ "cycle" : 1
+ }, {
+ "recording" : "body",
+ "receiver" : "NORMAL",
+ "concurrency" : 32,
+ "requestedSeconds" : 300,
+ "measuredSeconds" : 300.001664333,
+ "wallMeasuredSeconds" : 300.002,
+ "gcCollectionsDuringPhase" : 166,
+ "gcMillisDuringPhase" : 260,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 900000,
+ "opsPerSecond" : 2999.9833567623327,
+ "p50Nanos" : 2083,
+ "p95Nanos" : 6943,
+ "p99Nanos" : 15791,
+ "maxNanos" : 1203199,
+ "producerAllocatedBytesPerOp" : 2152.0022755555556,
+ "acceptedBeforeRecovery" : 900000,
+ "failedSpansBeforeRecovery" : 0,
+ "queueDropsBeforeRecovery" : 0,
+ "acceptedIncludingDrain" : 900000,
+ "failedSpansIncludingDrain" : 0,
+ "queueDropsIncludingDrain" : 0,
+ "httpRequestsIncludingDrain" : 1758,
+ "postGcLiveHeapBytes" : 11785136,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T10:14:51.637355127Z",
+ "cycle" : 2
+ }, {
+ "recording" : "body",
+ "receiver" : "NORMAL",
+ "concurrency" : 32,
+ "requestedSeconds" : 300,
+ "measuredSeconds" : 300.001489644,
+ "wallMeasuredSeconds" : 300.002,
+ "gcCollectionsDuringPhase" : 166,
+ "gcMillisDuringPhase" : 251,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 900000,
+ "opsPerSecond" : 2999.9851036339674,
+ "p50Nanos" : 2035,
+ "p95Nanos" : 6827,
+ "p99Nanos" : 15847,
+ "maxNanos" : 1220607,
+ "producerAllocatedBytesPerOp" : 2152.0022755555556,
+ "acceptedBeforeRecovery" : 900000,
+ "failedSpansBeforeRecovery" : 0,
+ "queueDropsBeforeRecovery" : 0,
+ "acceptedIncludingDrain" : 900000,
+ "failedSpansIncludingDrain" : 0,
+ "queueDropsIncludingDrain" : 0,
+ "httpRequestsIncludingDrain" : 1758,
+ "postGcLiveHeapBytes" : 11785440,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T10:19:52.276264068Z",
+ "cycle" : 3
+ }, {
+ "recording" : "body",
+ "receiver" : "NORMAL",
+ "concurrency" : 32,
+ "requestedSeconds" : 300,
+ "measuredSeconds" : 300.001618948,
+ "wallMeasuredSeconds" : 300.002,
+ "gcCollectionsDuringPhase" : 166,
+ "gcMillisDuringPhase" : 254,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 900000,
+ "opsPerSecond" : 2999.983810607366,
+ "p50Nanos" : 2039,
+ "p95Nanos" : 7031,
+ "p99Nanos" : 16255,
+ "maxNanos" : 1672191,
+ "producerAllocatedBytesPerOp" : 2152.0022755555556,
+ "acceptedBeforeRecovery" : 900000,
+ "failedSpansBeforeRecovery" : 0,
+ "queueDropsBeforeRecovery" : 0,
+ "acceptedIncludingDrain" : 900000,
+ "failedSpansIncludingDrain" : 0,
+ "queueDropsIncludingDrain" : 0,
+ "httpRequestsIncludingDrain" : 1758,
+ "postGcLiveHeapBytes" : 11787632,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T10:24:52.916659665Z",
+ "cycle" : 4
+ }, {
+ "recording" : "body",
+ "receiver" : "NORMAL",
+ "concurrency" : 32,
+ "requestedSeconds" : 300,
+ "measuredSeconds" : 300.001591527,
+ "wallMeasuredSeconds" : 300.001,
+ "gcCollectionsDuringPhase" : 166,
+ "gcMillisDuringPhase" : 252,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 900000,
+ "opsPerSecond" : 2999.9840848144313,
+ "p50Nanos" : 2213,
+ "p95Nanos" : 9199,
+ "p99Nanos" : 17391,
+ "maxNanos" : 1337343,
+ "producerAllocatedBytesPerOp" : 2152.0022755555556,
+ "acceptedBeforeRecovery" : 900000,
+ "failedSpansBeforeRecovery" : 0,
+ "queueDropsBeforeRecovery" : 0,
+ "acceptedIncludingDrain" : 900000,
+ "failedSpansIncludingDrain" : 0,
+ "queueDropsIncludingDrain" : 0,
+ "httpRequestsIncludingDrain" : 1758,
+ "postGcLiveHeapBytes" : 11780160,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T10:29:53.554252574Z",
+ "cycle" : 5
+ }, {
+ "recording" : "body",
+ "receiver" : "NORMAL",
+ "concurrency" : 32,
+ "requestedSeconds" : 300,
+ "measuredSeconds" : 300.002041117,
+ "wallMeasuredSeconds" : 300.002,
+ "gcCollectionsDuringPhase" : 166,
+ "gcMillisDuringPhase" : 256,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 900000,
+ "opsPerSecond" : 2999.979588968871,
+ "p50Nanos" : 2099,
+ "p95Nanos" : 7495,
+ "p99Nanos" : 16303,
+ "maxNanos" : 1321983,
+ "producerAllocatedBytesPerOp" : 2152.0022755555556,
+ "acceptedBeforeRecovery" : 900000,
+ "failedSpansBeforeRecovery" : 0,
+ "queueDropsBeforeRecovery" : 0,
+ "acceptedIncludingDrain" : 900000,
+ "failedSpansIncludingDrain" : 0,
+ "queueDropsIncludingDrain" : 0,
+ "httpRequestsIncludingDrain" : 1758,
+ "postGcLiveHeapBytes" : 11782360,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T10:34:54.191843369Z",
+ "cycle" : 6
+ }, {
+ "recording" : "body",
+ "receiver" : "UNAVAILABLE",
+ "concurrency" : 32,
+ "requestedSeconds" : 300,
+ "measuredSeconds" : 300.001622045,
+ "wallMeasuredSeconds" : 300.002,
+ "gcCollectionsDuringPhase" : 30,
+ "gcMillisDuringPhase" : 81,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 900000,
+ "opsPerSecond" : 2999.9837796377005,
+ "p50Nanos" : 1800,
+ "p95Nanos" : 7235,
+ "p99Nanos" : 15407,
+ "maxNanos" : 3395583,
+ "producerAllocatedBytesPerOp" : 2152.279342222222,
+ "acceptedBeforeRecovery" : 0,
+ "failedSpansBeforeRecovery" : 18944,
+ "queueDropsBeforeRecovery" : 879008,
+ "acceptedIncludingDrain" : 2048,
+ "failedSpansIncludingDrain" : 18944,
+ "queueDropsIncludingDrain" : 879008,
+ "httpRequestsIncludingDrain" : 193,
+ "postGcLiveHeapBytes" : 12052784,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T10:40:07.153964354Z",
+ "cycle" : 7
+ }, {
+ "recording" : "body",
+ "receiver" : "SLOW",
+ "concurrency" : 32,
+ "requestedSeconds" : 300,
+ "measuredSeconds" : 300.001524077,
+ "wallMeasuredSeconds" : 300.001,
+ "gcCollectionsDuringPhase" : 147,
+ "gcMillisDuringPhase" : 346,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 900000,
+ "opsPerSecond" : 2999.9847593074264,
+ "p50Nanos" : 1803,
+ "p95Nanos" : 5691,
+ "p99Nanos" : 13095,
+ "maxNanos" : 3158015,
+ "producerAllocatedBytesPerOp" : 2152.0022755555556,
+ "acceptedBeforeRecovery" : 753088,
+ "failedSpansBeforeRecovery" : 0,
+ "queueDropsBeforeRecovery" : 146912,
+ "acceptedIncludingDrain" : 753088,
+ "failedSpansIncludingDrain" : 0,
+ "queueDropsIncludingDrain" : 146912,
+ "httpRequestsIncludingDrain" : 1471,
+ "postGcLiveHeapBytes" : 12028656,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T10:45:08.660045878Z",
+ "cycle" : 8
+ }, {
+ "recording" : "body",
+ "receiver" : "NORMAL",
+ "concurrency" : 32,
+ "requestedSeconds" : 300,
+ "measuredSeconds" : 300.001410033,
+ "wallMeasuredSeconds" : 300.001,
+ "gcCollectionsDuringPhase" : 166,
+ "gcMillisDuringPhase" : 256,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 900000,
+ "opsPerSecond" : 2999.9858997362726,
+ "p50Nanos" : 2107,
+ "p95Nanos" : 7583,
+ "p99Nanos" : 16303,
+ "maxNanos" : 1572863,
+ "producerAllocatedBytesPerOp" : 2152.0022755555556,
+ "acceptedBeforeRecovery" : 900000,
+ "failedSpansBeforeRecovery" : 0,
+ "queueDropsBeforeRecovery" : 0,
+ "acceptedIncludingDrain" : 900000,
+ "failedSpansIncludingDrain" : 0,
+ "queueDropsIncludingDrain" : 0,
+ "httpRequestsIncludingDrain" : 1758,
+ "postGcLiveHeapBytes" : 12032144,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T10:50:09.298556488Z",
+ "cycle" : 9
+ }, {
+ "recording" : "body",
+ "receiver" : "UNAVAILABLE",
+ "concurrency" : 32,
+ "requestedSeconds" : 300,
+ "measuredSeconds" : 300.001379562,
+ "wallMeasuredSeconds" : 300.002,
+ "gcCollectionsDuringPhase" : 30,
+ "gcMillisDuringPhase" : 82,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 900000,
+ "opsPerSecond" : 2999.9862044434394,
+ "p50Nanos" : 1931,
+ "p95Nanos" : 7619,
+ "p99Nanos" : 15599,
+ "maxNanos" : 3487743,
+ "producerAllocatedBytesPerOp" : 2152.0022755555556,
+ "acceptedBeforeRecovery" : 0,
+ "failedSpansBeforeRecovery" : 18944,
+ "queueDropsBeforeRecovery" : 879008,
+ "acceptedIncludingDrain" : 2048,
+ "failedSpansIncludingDrain" : 18944,
+ "queueDropsIncludingDrain" : 879008,
+ "httpRequestsIncludingDrain" : 193,
+ "postGcLiveHeapBytes" : 12034248,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T10:55:21.625449658Z",
+ "cycle" : 10
+ }, {
+ "recording" : "body",
+ "receiver" : "SLOW",
+ "concurrency" : 32,
+ "requestedSeconds" : 300,
+ "measuredSeconds" : 300.001366194,
+ "wallMeasuredSeconds" : 300.001,
+ "gcCollectionsDuringPhase" : 147,
+ "gcMillisDuringPhase" : 377,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 900000,
+ "opsPerSecond" : 2999.986338122216,
+ "p50Nanos" : 1970,
+ "p95Nanos" : 6491,
+ "p99Nanos" : 15623,
+ "maxNanos" : 3860479,
+ "producerAllocatedBytesPerOp" : 2152.0022755555556,
+ "acceptedBeforeRecovery" : 754112,
+ "failedSpansBeforeRecovery" : 0,
+ "queueDropsBeforeRecovery" : 145888,
+ "acceptedIncludingDrain" : 754112,
+ "failedSpansIncludingDrain" : 0,
+ "queueDropsIncludingDrain" : 145888,
+ "httpRequestsIncludingDrain" : 1473,
+ "postGcLiveHeapBytes" : 12036568,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T11:00:23.125516964Z",
+ "cycle" : 11
+ }, {
+ "recording" : "body",
+ "receiver" : "NORMAL",
+ "concurrency" : 32,
+ "requestedSeconds" : 300,
+ "measuredSeconds" : 300.001501737,
+ "wallMeasuredSeconds" : 300.002,
+ "gcCollectionsDuringPhase" : 166,
+ "gcMillisDuringPhase" : 259,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 900000,
+ "opsPerSecond" : 2999.9849827051735,
+ "p50Nanos" : 2251,
+ "p95Nanos" : 9703,
+ "p99Nanos" : 17663,
+ "maxNanos" : 1469439,
+ "producerAllocatedBytesPerOp" : 2152.0022755555556,
+ "acceptedBeforeRecovery" : 900000,
+ "failedSpansBeforeRecovery" : 0,
+ "queueDropsBeforeRecovery" : 0,
+ "acceptedIncludingDrain" : 900000,
+ "failedSpansIncludingDrain" : 0,
+ "queueDropsIncludingDrain" : 0,
+ "httpRequestsIncludingDrain" : 1758,
+ "postGcLiveHeapBytes" : 12038760,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T11:05:23.764139309Z",
+ "cycle" : 12
+ }, {
+ "recording" : "body",
+ "receiver" : "UNAVAILABLE",
+ "concurrency" : 32,
+ "requestedSeconds" : 300,
+ "measuredSeconds" : 300.001384322,
+ "wallMeasuredSeconds" : 300.001,
+ "gcCollectionsDuringPhase" : 30,
+ "gcMillisDuringPhase" : 81,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 900000,
+ "opsPerSecond" : 2999.9861568438782,
+ "p50Nanos" : 1958,
+ "p95Nanos" : 7527,
+ "p99Nanos" : 15487,
+ "maxNanos" : 3586047,
+ "producerAllocatedBytesPerOp" : 2152.0022755555556,
+ "acceptedBeforeRecovery" : 0,
+ "failedSpansBeforeRecovery" : 19456,
+ "queueDropsBeforeRecovery" : 879008,
+ "acceptedIncludingDrain" : 1536,
+ "failedSpansIncludingDrain" : 19456,
+ "queueDropsIncludingDrain" : 879008,
+ "httpRequestsIncludingDrain" : 194,
+ "postGcLiveHeapBytes" : 12040832,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T11:10:34.655445955Z",
+ "cycle" : 13
+ }, {
+ "recording" : "body",
+ "receiver" : "SLOW",
+ "concurrency" : 32,
+ "requestedSeconds" : 300,
+ "measuredSeconds" : 300.001327199,
+ "wallMeasuredSeconds" : 300.001,
+ "gcCollectionsDuringPhase" : 147,
+ "gcMillisDuringPhase" : 362,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 900000,
+ "opsPerSecond" : 2999.986728068715,
+ "p50Nanos" : 2099,
+ "p95Nanos" : 8079,
+ "p99Nanos" : 16991,
+ "maxNanos" : 3676159,
+ "producerAllocatedBytesPerOp" : 2152.0022755555556,
+ "acceptedBeforeRecovery" : 754176,
+ "failedSpansBeforeRecovery" : 0,
+ "queueDropsBeforeRecovery" : 145824,
+ "acceptedIncludingDrain" : 754176,
+ "failedSpansIncludingDrain" : 0,
+ "queueDropsIncludingDrain" : 145824,
+ "httpRequestsIncludingDrain" : 1473,
+ "postGcLiveHeapBytes" : 12043784,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T11:15:36.135118046Z",
+ "cycle" : 14
+ }, {
+ "recording" : "body",
+ "receiver" : "NORMAL",
+ "concurrency" : 32,
+ "requestedSeconds" : 300,
+ "measuredSeconds" : 300.001537585,
+ "wallMeasuredSeconds" : 300.001,
+ "gcCollectionsDuringPhase" : 166,
+ "gcMillisDuringPhase" : 253,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 900000,
+ "opsPerSecond" : 2999.9846242288054,
+ "p50Nanos" : 2187,
+ "p95Nanos" : 9327,
+ "p99Nanos" : 17327,
+ "maxNanos" : 1185791,
+ "producerAllocatedBytesPerOp" : 2152.0022755555556,
+ "acceptedBeforeRecovery" : 900000,
+ "failedSpansBeforeRecovery" : 0,
+ "queueDropsBeforeRecovery" : 0,
+ "acceptedIncludingDrain" : 900000,
+ "failedSpansIncludingDrain" : 0,
+ "queueDropsIncludingDrain" : 0,
+ "httpRequestsIncludingDrain" : 1758,
+ "postGcLiveHeapBytes" : 12045880,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T11:20:36.773806515Z",
+ "cycle" : 15
+ }, {
+ "recording" : "body",
+ "receiver" : "UNAVAILABLE",
+ "concurrency" : 32,
+ "requestedSeconds" : 300,
+ "measuredSeconds" : 300.00142519,
+ "wallMeasuredSeconds" : 300.001,
+ "gcCollectionsDuringPhase" : 30,
+ "gcMillisDuringPhase" : 83,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 900000,
+ "opsPerSecond" : 2999.985748167705,
+ "p50Nanos" : 2012,
+ "p95Nanos" : 8011,
+ "p99Nanos" : 16319,
+ "maxNanos" : 3641343,
+ "producerAllocatedBytesPerOp" : 2152.0022755555556,
+ "acceptedBeforeRecovery" : 0,
+ "failedSpansBeforeRecovery" : 19456,
+ "queueDropsBeforeRecovery" : 878496,
+ "acceptedIncludingDrain" : 2048,
+ "failedSpansIncludingDrain" : 19456,
+ "queueDropsIncludingDrain" : 878496,
+ "httpRequestsIncludingDrain" : 197,
+ "postGcLiveHeapBytes" : 12048088,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T11:25:48.821923506Z",
+ "cycle" : 16
+ }, {
+ "recording" : "body",
+ "receiver" : "SLOW",
+ "concurrency" : 32,
+ "requestedSeconds" : 300,
+ "measuredSeconds" : 300.001352422,
+ "wallMeasuredSeconds" : 300.001,
+ "gcCollectionsDuringPhase" : 161,
+ "gcMillisDuringPhase" : 499,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 900000,
+ "opsPerSecond" : 2999.9864758409676,
+ "p50Nanos" : 2215,
+ "p95Nanos" : 9511,
+ "p99Nanos" : 17647,
+ "maxNanos" : 3491839,
+ "producerAllocatedBytesPerOp" : 2152.0022755555556,
+ "acceptedBeforeRecovery" : 753568,
+ "failedSpansBeforeRecovery" : 0,
+ "queueDropsBeforeRecovery" : 146432,
+ "acceptedIncludingDrain" : 753568,
+ "failedSpansIncludingDrain" : 0,
+ "queueDropsIncludingDrain" : 146432,
+ "httpRequestsIncludingDrain" : 1472,
+ "postGcLiveHeapBytes" : 12050584,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T11:30:50.330371177Z",
+ "cycle" : 17
+ }, {
+ "recording" : "body",
+ "receiver" : "NORMAL",
+ "concurrency" : 32,
+ "requestedSeconds" : 300,
+ "measuredSeconds" : 300.001311978,
+ "wallMeasuredSeconds" : 300.001,
+ "gcCollectionsDuringPhase" : 166,
+ "gcMillisDuringPhase" : 258,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 900000,
+ "opsPerSecond" : 2999.9868802773763,
+ "p50Nanos" : 2149,
+ "p95Nanos" : 8051,
+ "p99Nanos" : 16287,
+ "maxNanos" : 1494015,
+ "producerAllocatedBytesPerOp" : 2152.0022755555556,
+ "acceptedBeforeRecovery" : 900000,
+ "failedSpansBeforeRecovery" : 0,
+ "queueDropsBeforeRecovery" : 0,
+ "acceptedIncludingDrain" : 900000,
+ "failedSpansIncludingDrain" : 0,
+ "queueDropsIncludingDrain" : 0,
+ "httpRequestsIncludingDrain" : 1758,
+ "postGcLiveHeapBytes" : 12052672,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T11:35:50.968307380Z",
+ "cycle" : 18
+ }, {
+ "recording" : "body",
+ "receiver" : "UNAVAILABLE",
+ "concurrency" : 32,
+ "requestedSeconds" : 300,
+ "measuredSeconds" : 300.001352287,
+ "wallMeasuredSeconds" : 300.002,
+ "gcCollectionsDuringPhase" : 30,
+ "gcMillisDuringPhase" : 79,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 900000,
+ "opsPerSecond" : 2999.986477190956,
+ "p50Nanos" : 2057,
+ "p95Nanos" : 8147,
+ "p99Nanos" : 16303,
+ "maxNanos" : 3772415,
+ "producerAllocatedBytesPerOp" : 2152.0022755555556,
+ "acceptedBeforeRecovery" : 0,
+ "failedSpansBeforeRecovery" : 18944,
+ "queueDropsBeforeRecovery" : 879008,
+ "acceptedIncludingDrain" : 2048,
+ "failedSpansIncludingDrain" : 18944,
+ "queueDropsIncludingDrain" : 879008,
+ "httpRequestsIncludingDrain" : 193,
+ "postGcLiveHeapBytes" : 12055456,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T11:41:03.693884290Z",
+ "cycle" : 19
+ }, {
+ "recording" : "body",
+ "receiver" : "SLOW",
+ "concurrency" : 32,
+ "requestedSeconds" : 300,
+ "measuredSeconds" : 300.001367856,
+ "wallMeasuredSeconds" : 300.001,
+ "gcCollectionsDuringPhase" : 147,
+ "gcMillisDuringPhase" : 387,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 900000,
+ "opsPerSecond" : 2999.9863215023674,
+ "p50Nanos" : 2095,
+ "p95Nanos" : 7923,
+ "p99Nanos" : 16687,
+ "maxNanos" : 4280319,
+ "producerAllocatedBytesPerOp" : 2152.0022755555556,
+ "acceptedBeforeRecovery" : 754464,
+ "failedSpansBeforeRecovery" : 0,
+ "queueDropsBeforeRecovery" : 145536,
+ "acceptedIncludingDrain" : 754464,
+ "failedSpansIncludingDrain" : 0,
+ "queueDropsIncludingDrain" : 145536,
+ "httpRequestsIncludingDrain" : 1474,
+ "postGcLiveHeapBytes" : 12057960,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T11:46:05.242431989Z",
+ "cycle" : 20
+ }, {
+ "recording" : "body",
+ "receiver" : "NORMAL",
+ "concurrency" : 32,
+ "requestedSeconds" : 300,
+ "measuredSeconds" : 300.00145411,
+ "wallMeasuredSeconds" : 300.002,
+ "gcCollectionsDuringPhase" : 166,
+ "gcMillisDuringPhase" : 254,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 900000,
+ "opsPerSecond" : 2999.985458970481,
+ "p50Nanos" : 2119,
+ "p95Nanos" : 8303,
+ "p99Nanos" : 16831,
+ "maxNanos" : 1299455,
+ "producerAllocatedBytesPerOp" : 2152.0022755555556,
+ "acceptedBeforeRecovery" : 900000,
+ "failedSpansBeforeRecovery" : 0,
+ "queueDropsBeforeRecovery" : 0,
+ "acceptedIncludingDrain" : 900000,
+ "failedSpansIncludingDrain" : 0,
+ "queueDropsIncludingDrain" : 0,
+ "httpRequestsIncludingDrain" : 1758,
+ "postGcLiveHeapBytes" : 12060096,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T11:51:05.880349248Z",
+ "cycle" : 21
+ }, {
+ "recording" : "body",
+ "receiver" : "UNAVAILABLE",
+ "concurrency" : 32,
+ "requestedSeconds" : 300,
+ "measuredSeconds" : 300.001395541,
+ "wallMeasuredSeconds" : 300.002,
+ "gcCollectionsDuringPhase" : 30,
+ "gcMillisDuringPhase" : 82,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 900000,
+ "opsPerSecond" : 2999.9860446549174,
+ "p50Nanos" : 1943,
+ "p95Nanos" : 7111,
+ "p99Nanos" : 15247,
+ "maxNanos" : 4179967,
+ "producerAllocatedBytesPerOp" : 2152.0022755555556,
+ "acceptedBeforeRecovery" : 0,
+ "failedSpansBeforeRecovery" : 19456,
+ "queueDropsBeforeRecovery" : 879008,
+ "acceptedIncludingDrain" : 1536,
+ "failedSpansIncludingDrain" : 19456,
+ "queueDropsIncludingDrain" : 879008,
+ "httpRequestsIncludingDrain" : 194,
+ "postGcLiveHeapBytes" : 12062168,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T11:56:17.076229508Z",
+ "cycle" : 22
+ }, {
+ "recording" : "body",
+ "receiver" : "SLOW",
+ "concurrency" : 32,
+ "requestedSeconds" : 300,
+ "measuredSeconds" : 300.001397267,
+ "wallMeasuredSeconds" : 300.001,
+ "gcCollectionsDuringPhase" : 147,
+ "gcMillisDuringPhase" : 379,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 900000,
+ "opsPerSecond" : 2999.986027395078,
+ "p50Nanos" : 2083,
+ "p95Nanos" : 7555,
+ "p99Nanos" : 16431,
+ "maxNanos" : 4395007,
+ "producerAllocatedBytesPerOp" : 2152.0022755555556,
+ "acceptedBeforeRecovery" : 754528,
+ "failedSpansBeforeRecovery" : 0,
+ "queueDropsBeforeRecovery" : 145472,
+ "acceptedIncludingDrain" : 754528,
+ "failedSpansIncludingDrain" : 0,
+ "queueDropsIncludingDrain" : 145472,
+ "httpRequestsIncludingDrain" : 1474,
+ "postGcLiveHeapBytes" : 12064240,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T12:01:18.604161534Z",
+ "cycle" : 23
+ }, {
+ "recording" : "body",
+ "receiver" : "NORMAL",
+ "concurrency" : 32,
+ "requestedSeconds" : 300,
+ "measuredSeconds" : 300.001497988,
+ "wallMeasuredSeconds" : 300.002,
+ "gcCollectionsDuringPhase" : 166,
+ "gcMillisDuringPhase" : 251,
+ "targetOpsPerSecond" : 3000,
+ "operations" : 900000,
+ "opsPerSecond" : 2999.985020194799,
+ "p50Nanos" : 2171,
+ "p95Nanos" : 8279,
+ "p99Nanos" : 16639,
+ "maxNanos" : 1531903,
+ "producerAllocatedBytesPerOp" : 2152.0022755555556,
+ "acceptedBeforeRecovery" : 900000,
+ "failedSpansBeforeRecovery" : 0,
+ "queueDropsBeforeRecovery" : 0,
+ "acceptedIncludingDrain" : 900000,
+ "failedSpansIncludingDrain" : 0,
+ "queueDropsIncludingDrain" : 0,
+ "httpRequestsIncludingDrain" : 1758,
+ "postGcLiveHeapBytes" : 12066360,
+ "threadsAfterIdle" : 53,
+ "batchWorkersAfterIdle" : 2,
+ "loadWorkersAfterIdle" : 32,
+ "sampledEndedObservations" : 32,
+ "retainedObservationSamples" : 0,
+ "sampledAt" : "2026-09-25T12:06:19.242005456Z",
+ "cycle" : 24
+ } ]
+}
\ No newline at end of file
diff --git a/experiments/core-operations/pom.xml b/experiments/core-operations/pom.xml
index a007ee8..81f252c 100644
--- a/experiments/core-operations/pom.xml
+++ b/experiments/core-operations/pom.xml
@@ -5,7 +5,7 @@
UTF-8
11
- 0.2.2
+ 0.2.3-SNAPSHOT
io.github.chomingilangfuse-otel-core${langfuse-otel.version}test
diff --git a/experiments/core-preflight/pom.xml b/experiments/core-preflight/pom.xml
index b56f3d7..cd9dd8d 100644
--- a/experiments/core-preflight/pom.xml
+++ b/experiments/core-preflight/pom.xml
@@ -5,7 +5,7 @@
UTF-8
11
- 0.2.2
+ 0.2.3-SNAPSHOT
com.fasterxml.jackson.corejackson-databind2.21.5test
diff --git a/langfuse-otel-core/pom.xml b/langfuse-otel-core/pom.xml
index 4de36f4..8e292ce 100644
--- a/langfuse-otel-core/pom.xml
+++ b/langfuse-otel-core/pom.xml
@@ -6,7 +6,7 @@
io.github.chomingi
langfuse-otel-java
- 0.2.2
+ 0.2.3-SNAPSHOT
langfuse-otel-core
diff --git a/langfuse-otel-spring-boot-starter/pom.xml b/langfuse-otel-spring-boot-starter/pom.xml
index 4cd40d3..7432b10 100644
--- a/langfuse-otel-spring-boot-starter/pom.xml
+++ b/langfuse-otel-spring-boot-starter/pom.xml
@@ -6,7 +6,7 @@
io.github.chomingi
langfuse-otel-java
- 0.2.2
+ 0.2.3-SNAPSHOT
langfuse-otel-spring-boot-starter
diff --git a/pom.xml b/pom.xml
index 1fe707c..48d5754 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
io.github.chomingi
langfuse-otel-java
- 0.2.2
+ 0.2.3-SNAPSHOT
pom
langfuse-otel-java
@@ -58,7 +58,7 @@
2.7.1
2.9.3
0.26.2
- 0.2.1
+ 0.2.2
0.000
0.000
integration,e2e,release-canary