Skip to content

New tracing system support #6133

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 48 commits into from
Jul 2, 2025
Merged

New tracing system support #6133

merged 48 commits into from
Jul 2, 2025

Conversation

johnalotoski
Copy link
Contributor

@johnalotoski johnalotoski commented Feb 25, 2025

Description

This PR changes the default tracing system to the new tracing system and implements support for this where needed:

Nixos cardano-node service:

  • The option usePeersFromLedgerAfterSlot has been renamed to useLedgerAfterSlot for consistency with the topology file key value it sets
  • The default auto-generated topology file naming has been changed from topology[-$i].yaml to topology[-$i].json to reflect json contents
  • Clean up of comments, descriptions and reduced verbosity for explicit builtins, lib and type functions

Nixos cardano-tracer pre-existing service:

  • The pre-existing cardano-tracer service has been renamed to nix/nixos/cardano-tracer-service-workbench.nix, suitable for internal use
  • This internal service has been removed from the nix/nixos/module-list.nix for default imports

Nixos cardano-tracer new service:

  • A new cardano-tracer service has been added, intended for generic consumption, consumable via a flake or non-flake import.
  • Provides nixos options for all cardano-tracer configuration options
  • Is structured to support both systemd and script based services, ex: for compatible use in docker containers
  • This service has been added to the nix/nixos/module-list.nix for default imports

Nixos scripts:

  • Adds cardano-tracer scripts, ie: nix build -L .#scripts.$NETWORK.tracer, similar to the pre-existing node and submit-api scripts
  • Uses similar defaults as node and submit-api scripts where possible, example state-tracer-$NETWORK is the default relative path state dir

Nixos tests:

  • Updates the nix/nixos/tests/cardano-node-edge.nix with shorter timeouts and prometheusSimple supported cardano-cli ping check

Docker:

  • Adds a docker entrypoint and image for cardano-tracer, ie: nix build -L .#dockerImage/tracer
  • Similar to the node container, the tracer container supports scripts, custom and merge modes
  • Updates nix/docker/README.md to add cardano-tracer documentation, including example usage and node-to-tracer discussion

Workbench service tracer changes:

  • In nix/workbench/service/tracer.nix logic was added to utilize either the internal workbench or generic cardano-tracer nixos service
  • A useWorkbenchTracerService bool was added to select which cardano-tracer service is used

Cardano Tests:

  • Reference paths for new tracing config have been updated to mainnet-config.json which now contain config for the new tracing system
  • Reference paths for legacy tracing config have been updated to mainnet-config-legacy.json

Configuration:

  • The configuration/cardano directory has had configuration files updated such that:
    • mainnet-config.json now contains new tracing system config
    • mainnet-config.yaml now contains new tracing system config
    • mainnet-config-bp.json now contains new tracing system config
    • mainnet-config-legacy.json now contains legacy tracing system config
    • testnet-template-config.json now contains new tracing system config
  • For trace-documentation, Makefile was updated to use configuration/cardano/mainnet-config.yaml which now contains new tracing system config
  • Updates the iohkNix flake pin for new tracing system default config

Bash scripts:

  • Script scripts/lite/mainnet.sh has been updated to run new tracing system
  • Script scripts/lite/mainnet-new-tracing.sh, which is no longer necessary as it is now the default, shown in the line above, has been changed to scripts/list/mainnet-legacy-tracing.sh with an appropriate legacy config ref update

CI:

  • Release GHCR workflow was updated to add cardano-tracer dockerImage, registry push and latest tagging

Checklist

  • Commit sequence broadly makes sense and commits have useful messages
  • CI passes. See note on CI. The following CI checks are required:
  • Self-reviewed the diff

@johnalotoski johnalotoski force-pushed the jl/new-tracing-service branch from b790e41 to 548e33a Compare February 27, 2025 20:51
@johnalotoski johnalotoski force-pushed the jl/new-tracing-service branch 5 times, most recently from 228d83b to 374e4eb Compare March 8, 2025 01:57
@johnalotoski johnalotoski force-pushed the jl/new-tracing-service branch 4 times, most recently from cbce577 to 5a8a374 Compare March 19, 2025 19:59
@johnalotoski johnalotoski force-pushed the jl/new-tracing-service branch 2 times, most recently from afc184b to 544c649 Compare March 30, 2025 04:21
@johnalotoski johnalotoski force-pushed the jl/new-tracing-service branch from e138d63 to 08c2118 Compare April 4, 2025 20:21
@johnalotoski johnalotoski force-pushed the jl/new-tracing-service branch 5 times, most recently from 9c15e0f to 1e8b076 Compare April 22, 2025 20:30
@johnalotoski johnalotoski changed the title Nixos tracing service updates New tracing system support Apr 22, 2025
@johnalotoski johnalotoski force-pushed the jl/new-tracing-service branch from 5c0fb38 to 20e921c Compare April 30, 2025 00:34
@johnalotoski johnalotoski force-pushed the jl/new-tracing-service branch from 4b4a335 to a220eca Compare May 13, 2025 16:53
@johnalotoski johnalotoski force-pushed the jl/new-tracing-service branch 2 times, most recently from b0a9d60 to 7e86a36 Compare June 18, 2025 19:23
@johnalotoski johnalotoski force-pushed the jl/new-tracing-service branch from 7f1b2c0 to 6f9390d Compare June 28, 2025 01:08
@johnalotoski johnalotoski force-pushed the jl/new-tracing-service branch from 442b14f to f1bfcb5 Compare July 1, 2025 20:57
@johnalotoski johnalotoski marked this pull request as ready for review July 2, 2025 02:22
@johnalotoski johnalotoski requested review from a team as code owners July 2, 2025 02:22
Copy link
Contributor

@mgmeier mgmeier left a comment

Choose a reason for hiding this comment

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

❤️ Impressive!
Thank you so much @johnalotoski

@johnalotoski johnalotoski added this pull request to the merge queue Jul 2, 2025
Merged via the queue into master with commit 55f8516 Jul 2, 2025
23 checks passed
@johnalotoski johnalotoski deleted the jl/new-tracing-service branch July 2, 2025 15:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants