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

Draft
wants to merge 37 commits into
base: master
Choose a base branch
from
Draft

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
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.

1 participant