• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

xapi-project / xen-api / 12030332438
80%

Build:
DEFAULT BRANCH: master
Ran 26 Nov 2024 12:14PM UTC
Jobs 1
Files 37
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

26 Nov 2024 12:03PM UTC coverage: 78.273%. Remained the same
12030332438

push

github

web-flow
Remove tracing dependency from http-lib and add baggage (#6065)

Removes dependency on `tracing` from `http-lib` and add baggage.

---

The introduction of it as a dependency was to support this style of
code:

```ocaml
let@ req = Http.Request.with_tracing ~name req in
```

However, HTTP headers are just a carrier in the context of tracing. The
library ought to be as inert as possible; providing enough to endow
requests with tracing information, but not calling into the tracing
library to export child spans (as is done above).

To this end, the notion of a
[propagator](https://opentelemetry.io/docs/specs/otel/context/api-propagators/)
is introduced that provides an interface for doing the above, but
generalised to arbitrary carriers. If you can describe how to
inject/extract a "trace context" into/from a carrier, you can
conceivably propagate tracing across it.

---

In future, the idea will be to:
- This trace context can be inherited by spans, so it can reach the
exporter. We can probably use the `SpanContext.t` record to do this. If
this information can reach the exporter, we can choose to decorate spans
with tags derived from the trace context (such as baggage) during
exportation.
- At incoming service boundaries, instead of pushing down a `Span.t
option` derived from an encoded `traceparent` in the carrier, we will
push down `TraceContext` (which is more general than the encoded
`SpanContext` carried by the optional `Span.t` that's currently pushed
down). This is so we can more easily handle the case where baggage is
provided but a traceparent isn't: in which case, a span is still created
if tracing is enabled, but with no parent to inherit contextual metadata
from (a previous - abandoned - PR introduced baggage in a way that only
worked when a traceparent was provided).

---

Opening this as a draft for now. Would appreciate any commentary. There
appears to be duplication of `Helper` but this is largely because XAPI's
`dune` defines separate lib... (continued)

3462 of 4423 relevant lines covered (78.27%)

0.78 hits per line

Jobs
ID Job ID Ran Files Coverage
1 python3.11 - 12030332438.1 26 Nov 2024 12:14PM UTC 37
78.27
GitHub Action Run
Source Files on build 12030332438
  • Tree
  • List 37
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #12030332438
  • 6f64a785 on github
  • Prev Build on master (#12007408495)
  • Next Build on master (#12033305184)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc