Skip to content

History / HTTP Tracking Setup

Revisions

  • 5.35.0: a sequence diagram draws why a call failed (#232 R3). Generated Reports says a failed answer's note opens with its reason in the theme's failure ink, under the headers and above the body; Report Themes lists --dg-fail-ink; HTTP Tracking Setup and the SQS, SNS, EventBridge, S3, DynamoDB and Atlas Data API pages say the reason is drawn in the note on the return.

    @lemonlion lemonlion committed Nov 7, 2026
  • 5.34.3: every tracked call that throws ends with an answer that says it failed and why, and every reader reads a failed answer one way (#232). Each tracker's page says what a failed call shows (A call that fails); Cross-Run History gives rule 12 and its bridge; HTTP Tracking Setup lists the trackers that answer a call that threw; the OTLP pages say an ERROR span's answer carries its message as error and the export's message is a failure's reason; Component Diagrams says % errors counts every failed answer; Tracking Custom Dependencies says how an answer is read as failed, with today's success words (#140 left to #140); DispatchProxy says the deferred queue flushes after a send that throws, a method that throws answers its exception's type with its stack kept, and a stream is answered when it ends; ClickHouse says a client reader's later failure is not seen.

    @lemonlion lemonlion committed Nov 7, 2026
  • Internal Flow Tracking, HTTP Tracking Setup, Report Configuration, API Reference, OpenTelemetry Extension, Diagnostics and Debugging: from 5.34.0 a gRPC call is one step named for its method, its transport spans folded into it (#138); the handler options' InternalFlowActivitySources, the listener constructor and the DI overload that take source names are obsolete, as none was ever read, with overloads that take none; ReportConfigurationOptions.InternalFlowActivitySources filters what a report draws under Manual.

    @lemonlion lemonlion committed Nov 7, 2026
  • HTTP Tracking Setup, Tracking Dependencies, Generated Reports, Querying Reports, AI Integration Prompt: from 5.32.0 TestTrackingMessageHandlerOptions.TestDouble says what answers a tracking handler's calls. A name marks every call it tracks, empty or white space marks none, and null reads the chain (#219).

    @lemonlion lemonlion committed Nov 7, 2026
  • Boundary: the Setup/Action boundary is drawn at the step, once per test, whoever makes the calls (5.31.0, STEP_PHASE_PLAN R2).

    @lemonlion lemonlion committed Nov 5, 2026
  • 5.13.0: a call to a remote host nothing maps is named by its host and port (pricing.example.com:443), and a call to this machine keeps localhost:{port} (#190 R0) HTTP-Tracking-Setup, Tracking-Dependencies, Diagnostics-and-Debugging and the ten integration pages said the handler's fallback is localhost:{port} for every host; they now say what it does. Tracking-Dependencies' Pattern 2 options mapped port 443 to "My API", which names every host on that port alike; the maps are reduced to the local port, with a pointer to Pattern 8 for remote hosts. Cross-Run-History: the fingerprint rule is 7, and a run carries a bridge under rule 6 while such runs are in its window, so the rename reads as no change.

    @lemonlion lemonlion committed Oct 27, 2026
  • 5.6.1: HTTP-Tracking-Setup says that CreateTestTrackingClient makes its client under a lock of the factory's own, so tests running in parallel can share one WebApplicationFactory and make their clients from it at the same moment (before 5.6.1 the first clients made at once each started the application, and one could be lost from the factory's list or leave a null in it, so the factory's Dispose threw NullReferenceException), and how to make a client of the factory's own safely; Integration-Grpc-Extension says the same of CreateTestTrackingGrpcClient and its WithChannel variant

    @lemonlion lemonlion committed Oct 24, 2026
  • 4.18.2: the wiki edits of the #136 audit (plans/MONGODB_ACCESSOR_OPTION_PLAN.md section 12). The Atlas Data API's IHttpClientFactory recipe adds the handler as the primary one, since AddHttpMessageHandler threw when the client was created; Tracking-Dependencies' first recipe no longer sets InnerHandler to null, which threw ArgumentNullException. MassTransit's page no longer says DI resolves the accessor, Spanner's options table gains its HttpContextAccessor row, and MediatR's row says to leave it null in a host. BigQuery's, Pub/Sub's and the Atlas Data API's rows and HTTP-Tracking-Setup say which accessor wins, with what changed in 4.18.2, and 'every extension options class' now reads every one with a CurrentTestInfoFetcher

    @lemonlion lemonlion committed Oct 13, 2026
  • 4.16.1: what the #134 audit fixed (a gRPC call recorded however it fails, a message holding an Any, a stream disposed under another span, a call logged with the trace id it carries, HeadersToForward on a request that already carries the header, the ignore header in any casing, TrackingProxy after an awaited call, Spanner LogSqlText and phase content on every path and the server observer's failed status), and stale pages corrected: CurrentStepTypeFetcher is read only by the HTTP handler, the identity headers are written by the gRPC interceptor too, a host with AddTestTrackingContextPropagation resolves through its scope without an accessor, and the trace id nests a host's calls only for trackers that reuse it

    @lemonlion lemonlion committed Oct 12, 2026
  • 4.14.3: every HTTP hop carries the test identity and, between TestServer hosts, the trace (Tracking-Dependencies, HTTP-Tracking-Setup, Integration-Playwright, Multi-Host-Test-Architectures)

    @lemonlion lemonlion committed Oct 8, 2026
  • 4.13.1: outside a test, Kronikol.xUnit2's and Kronikol.NUnit4's fetchers throw, so a call made there goes to a TestIdentityScope, the global fallback or the background, as on the other frameworks (#133). The pages that said every fetcher returns ("Unknown", "unknown") or throws now say which did not until 4.13.1 and what that cost; xUnit v2 runs a test class's constructor, InitializeAsync, DisposeAsync and Dispose outside the test (Integration-xUnit2 table row and troubleshooting entry, Tracking-Custom-Dependencies), as NUnit runs a fixture's one-time set-up and tear-down (Integration-NUnit); Diagnostics-and-Debugging gains "Calls made outside a test are missing, and a scope or fallback does not bring them back"; Assertion-Tracking lists every integration that sets Track.TestIdResolver; and the custom-tracker recipe takes its identity from TestInfoResolver.Resolve(null, CurrentTestInfo.Fetcher) and skips the call when nothing names a test, where it read XUnit2TestTrackingContext.GetCurrentTestInfo(), whose id outside a test no scenario owns

    @lemonlion lemonlion committed Oct 8, 2026
  • 4.12.1: test names and ids no longer fail the calls that carry them, and the gRPC interceptor leaves the caller's metadata and trace alone (#134). HTTP-Tracking-Setup gains "Header values": a name, id or caller name that is not plain printable ASCII, or that begins or ends with a space, travels in the RFC 8187 UTF-8'' form every Kronikol reader decodes, with the HeaderValue helper for headers written by hand and TestTrackingServerBridge for reading them; its dual-resolution list now gives all six steps in order. Diagnostics-and-Debugging says the HttpContextAccessor column counts the instances that hold an accessor (N of M) and shows each instance's. Integration-Playwright and Integration-ProxyTap-Extension say ToHeaders() and the re-stamp send the encoded form whole, where they replaced characters with ? and cut values at 512. Integration-Grpc-Extension: CurrentStepTypeFetcher has no effect, the caller's Activity.Current is given back when an async unary call starts, and the traceparent's flags say 01 for a recorded span

    @lemonlion lemonlion committed Oct 8, 2026
  • 4.10.0 and 4.11.0: MongoDB tracking takes an IHttpContextAccessor through its options (#136), and so does every other extension options type. Integration-MongoDB-Extension names Kronikol.Extensions.MongoDB.V2 for MongoDB.Driver 2.x (#142 item 6), passes the host's accessor in its WebApplicationFactory setup (Option C), and shows the client line Option D needs: on its own, AddMongoDbTestTracking recorded nothing. Its options table gains HttpContextAccessor, and its CurrentTestInfoFetcher and CurrentStepTypeFetcher rows say what they do. HTTP-Tracking-Setup and Diagnostics-and-Debugging say which version gave each options type the property, so 'every extension options class' holds, and their Kafka sample compiles from 4.11.0. The Kafka, Bigtable, Spanner, MediatR and EF Core Relational pages list the property, and the EF Core page describes WithSqlTestTracking(options) and WithTestInfoFrom with it

    @lemonlion lemonlion committed Oct 8, 2026
  • 4.3.0: a failed call's error on the ingest feed (the interaction table's error row, the !Type status, !Error for an error with no status, the lossless note), in Failures.md and in kronikol export's ERROR span; Merging Parallel Reports says the merge keeps error, attributionSource, expiredFrom and each shard's background block; HTTP Tracking Setup addresses a failed call's error by its response half, where query http prints it

    @lemonlion lemonlion committed Oct 1, 2026
  • Roadmap stage 0: every anchored [[...]] link resolves (164 rewritten: 100 space-form anchors to their heading's slug, 5 reversed label|target links turned round, 39 bare slug links labelled, 16 [[Integration: X Extension]] links pointed at the pages that exist, 4 renamed sections repointed, 2 typos); CI-Summary-Integration describes the summary that exists (server URLs plus source, no inline images in any mode, the split fires whenever the compact form differs); PlantUML-Browser-Rendering: themes have no effect under BrowserJs, the phantom CiSummaryPlantUmlRendering option is gone, Node.js rendering documented here; report sizes given as measured, 10.7 and 82.7 MB

    @lemonlion lemonlion committed Sep 22, 2026
  • 3.18.0: alternating verdicts, failed sends carry their exception, the background heading

    @lemonlion lemonlion committed Sep 15, 2026
  • docs: fix remaining audit findings across wiki pages - HTTP-Tracking-Setup: update stale IHttpClientFactory registration to IHttpMessageHandlerBuilderFilter (v3.0.21+) - xUnit3: fix broken Dispose(bool) pattern in BaseFixture example - Component-Diagrams: add missing ArrowColorMode/DependencyColors to API reference code block - PubSub: remove misleading "Tracker Only" DI section (no separate overload) - PlantUML-Browser-Rendering: fix "official CDN" claim (uses jsdelivr fork) - Tracking-Custom-Dependencies: add DependencyCategory to properties table - LightBDD-xUnit2: update deprecated ReportWritersConfiguration() example

    @lemonlion lemonlion committed May 24, 2026
  • docs: Pattern 10 for TestWebHostDriverBase, updated matching semantics (#66, #67, #68)

    @lemonlion lemonlion committed May 22, 2026
  • docs: v3.0.21 EndsWith matching for ClientNamesToServiceNames (#65)

    @lemonlion lemonlion committed May 22, 2026
  • docs: v3.0.21 - TrackDependenciesForDiagrams uses filter, ClientNamesToServiceNames contains matching (#65)

    @lemonlion lemonlion committed May 22, 2026
  • docs: complete rebrand TestTrackingDiagrams → Kronikol (v3.0.0) - All TestTrackingDiagrams references → Kronikol - All TTD abbreviations → Kronikol - X-TTD-TestName/X-TTD-TestId → test-tracking-current-test-name/test-tracking-current-test-id - ttd- prefixed headers → kronikol- - TTD_ env vars → KRONIKOL_ - Updated all code examples, API references, and guides

    @lemonlion lemonlion committed May 17, 2026
  • docs: ExcludedHosts option, RemoveDbContext<T> helper (v2.28.23)

    @lemonlion lemonlion committed May 1, 2026
  • docs: v2.28.13 - comprehensive documentation improvements New pages: - Background Thread Correlation: TestIdentityScope, ActiveTestTracker, Unknown entries, LazyHttpContextAccessor - Service Bus Tracking Patterns: MessageTracker setup, BeforePublish/AfterPublish bridging, atomic tracking, dual-caller attribution Updated pages: - HTTP Tracking Setup: handler pipeline ordering, PrimaryHandler vs AdditionalHandlers, CreateTestTrackingClient behaviour, IHttpContextAccessor timing - Diagnostics and Debugging: 8 new troubleshooting entries (empty reports, Unknown entries, Service Bus, function triggers, CosmosDB, service names) - Quick Start (xUnit): TestContexts.Enqueue warning for custom fixtures - Integration CosmosDB Extension: fault injection code example, background thread correlation link - What's New in 2.0: upgrading from 2.27.x to 2.28.x migration guide - Tracking Custom Dependencies: interface-based blob tracking with auto-resolving LogPair - Multi-Host Test Architectures: consistent test identity, HttpContextAccessor wiring order, initialization order - Home and Sidebar: links to new pages

    @lemonlion lemonlion committed Apr 30, 2026
  • docs: v2.28.12 - diagnostic report improvements, ClientNamesToServiceNames, AtlasDataApi/BigQuery HttpContextAccessor - Diagnostics-and-Debugging: grouped component table, HttpContextAccessor column, smart warnings, HasHttpContextAccessor interface - HTTP-Tracking-Setup: ClientNamesToServiceNames exact match semantics section - Integration-AtlasDataApi-Extension: HttpContextAccessor option in setup example - Integration-BigQuery-Extension: HttpContextAccessor option in setup example

    @lemonlion lemonlion committed Apr 30, 2026
  • docs: v2.28.11 - DiagramMethod/DiagramStatusCode, LogPair auto-resolving, TrackSendMessage, multi-host architecture guide - Tracking-Custom-Dependencies: OneOf ambiguity workaround, auto-resolving LogPair, IDistributedCache decorator example - Integration-DispatchProxy: ReplaceWithTracked failure scenarios table - Integration-CosmosDB: InMemoryEmulator integration guide - HTTP-Tracking-Setup: JustEat.HttpClientInterception recipe - Multi-Host-Test-Architectures: NEW page covering dual-host, shared messaging, DI ordering - _Sidebar: Added Multi-Host Test Architectures link

    @lemonlion lemonlion committed Apr 30, 2026
  • docs: rename CallingServiceName → CallerName across all wiki pages Updated all 49 wiki pages to use CallerName. Added deprecation callouts to HTTP-Tracking-Setup.md and Event-Annotations.md.

    @lemonlion lemonlion committed Apr 29, 2026
  • docs: update wiki for v2.27.10 — CurrentTestInfo.Fetcher NRE fix

    @lemonlion lemonlion committed Apr 28, 2026
  • docs: update all extension pages with HttpContextAccessor auto-resolution (v2.26.3) - Add HttpContextAccessor row to 16 extension options tables - Update dual-resolution notes with v2.26.3 auto-resolve info - Rewrite HTTP-Tracking-Setup How to Use It section - Add Auto-Resolution (v2.26.3+) section replacing MediatR-only section - Add generalized troubleshooting for missing dependencies in Diagnostics - Update DispatchProxy note with ReplaceWithTrackingProxy overload info

    @lemonlion lemonlion committed Apr 27, 2026
  • docs: add CurrentTestInfo.Fetcher as standard API for CurrentTestInfoFetcher across all framework docs

    @lemonlion lemonlion committed Apr 27, 2026
  • docs: gRPC AddTrackedGrpcClient DI extension + auto-resolve IHttpContextAccessor (v2.26.1) - Updated Integration-Grpc-Extension with new DI extension section, auto-resolve docs - Updated Diagnostics-and-Debugging with recommended AddTrackedGrpcClient fix - Updated HTTP-Tracking-Setup, Tracking-Dependencies, Tracking-Custom-Dependencies - Updated Phase-Aware-Tracking gRPC note for auto-resolution - Added gRPC extension to API-Reference

    @lemonlion lemonlion committed Apr 27, 2026