Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3,673 changes: 987 additions & 2,686 deletions bench/cardano-profile/data/all-profiles-coay.json

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,6 @@
"cluster_startup_overhead_s": 40
},
"tracer": {
"rtview": false,
"ekg": false,
"withresources": false,
"timeseries": false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,6 @@
"cluster_startup_overhead_s": 40
},
"tracer": {
"rtview": false,
"ekg": false,
"withresources": false,
"timeseries": false
Expand Down
9 changes: 4 additions & 5 deletions bench/cardano-profile/data/test/ci-test-bage.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"minimum_chain_density": 0.025,
"silence_since_last_block_s": 120,
"start_log_spread_s": 120,
"tx_loss_ratio": 0.020,
"tx_loss_ratio": 0.02,
"type": "standard"
},
"cli_args": {
Expand Down Expand Up @@ -119,7 +119,7 @@
"tx_fee": 1000000
},
"genesis": {
"active_slots_coeff": 0.050,
"active_slots_coeff": 0.05,
"alonzo": {
"collateralPercentage": 150,
"costModels": {
Expand Down Expand Up @@ -329,7 +329,7 @@
"pparamsEpoch": 300,
"pparamsOverlays": [],
"shelley": {
"activeSlotsCoeff": 0.050,
"activeSlotsCoeff": 0.05,
"epochLength": 600,
"protocolParams": {
"a0": 0.3,
Expand All @@ -352,7 +352,7 @@
"major": 6,
"minor": 0
},
"rho": 0.0030,
"rho": 0.003,
"tau": 0.2
},
"securityParam": 3,
Expand Down Expand Up @@ -382,7 +382,6 @@
"scenario": "fixed-loaded",
"tracer": {
"ekg": false,
"rtview": false,
"withresources": false,
"timeseries": false
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,6 @@
"cluster_startup_overhead_s": 40
},
"tracer": {
"rtview": false,
"ekg": false,
"withresources": false,
"timeseries": false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,6 @@
"cluster_startup_overhead_s": 40
},
"tracer": {
"rtview": false,
"ekg": false,
"withresources": false,
"timeseries": false
Expand All @@ -323,7 +322,7 @@
"name": "ci-test-dense10-coay",
"overlay": {},
"derived": {
"supply_delegated": 1E+16,
"supply_delegated": 1e+16,
"supply_total": 10010000000000000,
"utxo_delegated": 0,
"utxo_generated": 18000,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -315,7 +315,6 @@
]
},
"tracer": {
"rtview": false,
"ekg": false,
"withresources": false,
"timeseries": false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -508,7 +508,6 @@
"cluster_startup_overhead_s": 40
},
"tracer": {
"rtview": false,
"ekg": false,
"withresources": false,
"timeseries": false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ When defining profiles try keeping the same order as in the `Profile` type:
- Cluster
- Analysis

And common modifiers `P.traceForwardingOn . P.newTracing . P.tracerRtview`
And common modifiers `P.traceForwardingOn . P.newTracing`
next to the name.

-}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,6 @@ profilesNoEraEmpty = map baseNoDataset
in [
-- Local
ciTest & P.name "ci-test" . V.valueLocal . P.traceForwardingOn
, ciTest & P.name "ci-test-rtview" . V.valueLocal . P.traceForwardingOn . P.tracerRtview
, ciTest & P.name "ci-test-notracer" . V.valueLocal . P.traceForwardingOff
, ciTest & P.name "ci-test-plutus" . V.plutusLoop . P.traceForwardingOn . P.analysisSizeSmall
]
Expand Down Expand Up @@ -163,11 +162,9 @@ profilesNoEraEmpty = map baseNoDataset
in [
-- "--shutdown-on-block-synced 15"
bench & P.name "trace-bench" . V.valueLocal . P.traceForwardingOn
, bench & P.name "trace-bench-rtview" . V.valueLocal . P.traceForwardingOn . P.tracerRtview
, bench & P.name "trace-bench-notracer" . V.valueLocal . P.traceForwardingOff
-- "--shutdown-on-slot-synced 1200"
, full & P.name "trace-full" . V.valueLocal . P.traceForwardingOn
, full & P.name "trace-full-rtview" . V.valueLocal . P.traceForwardingOn . P.tracerRtview
]
++
------------------------------------------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,6 @@ profilesNoEraMiniature =
ciBench02Value & P.name "ci-bench" . V.valueLocal . P.dreps 0 . P.traceForwardingOn
, ciBench02Value & P.name "ci-bench-lmdb" . V.valueLocal . P.dreps 0 . P.traceForwardingOn . P.lmdb . P.ssdDirectory "/tmp"
, ciBench02Value & P.name "ci-bench-lsmt" . V.valueLocal . P.dreps 0 . P.traceForwardingOn . P.lsmt . P.ssdDirectory "/tmp"
, ciBench02Value & P.name "ci-bench-rtview" . V.valueLocal . P.dreps 0 . P.traceForwardingOn . P.tracerRtview
, ciBench02Value & P.name "ci-bench-notracer" . V.valueLocal . P.dreps 0 . P.traceForwardingOff
, ciBench02Value & P.name "ci-bench-drep" . V.valueLocal . P.dreps 10 . P.traceForwardingOn
, ciBench02Plutus & P.name "ci-bench-plutus" . loop . P.dreps 0 . P.traceForwardingOn
Expand Down Expand Up @@ -118,7 +117,7 @@ profilesNoEraMiniature =
, dense & P.name "6-dense-rtsprof" . V.valueCloud . duration30 . P.traceForwardingOn . P.rtsHeapProf . P.rtsEventlogged
, dense & P.name "6-dense-1h" . V.valueCloud . duration60 . P.traceForwardingOn
, dense & P.name "6-dense-1h-rtsprof" . V.valueCloud . duration60 . P.traceForwardingOn . P.rtsHeapProf . P.rtsEventlogged
, dense & P.name "6-dense-1h-timeseries" . V.valueCloud . duration60 . P.traceForwardingOn . P.tracerRtview . P.tracerTimeseries
, dense & P.name "6-dense-1h-timeseries" . V.valueCloud . duration60 . P.traceForwardingOn . P.tracerTimeseries
, dense & P.name "6-dense-4h" . V.valueCloud . duration240 . P.traceForwardingOn
, dense & P.name "6-dense-4h-rtsprof" . V.valueCloud . duration240 . P.traceForwardingOn . P.rtsHeapProf . P.rtsEventlogged
]
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ module Cardano.Benchmarking.Profile.Primitives (
, workloadAppend

-- Tracer's params.
, tracerRtview, tracerWithresources, tracerTimeseries
, tracerWithresources, tracerTimeseries

-- Cluster params.
, clusterMinimunStorage, ssdDirectory, clusterKeepRunningOn
Expand Down Expand Up @@ -200,8 +200,7 @@ empty = Types.Profile {
}
, Types.workloads = []
, Types.tracer = Types.Tracer {
Types.rtview = False
, Types.ekg = False
Types.ekg = False
, Types.withresources = False
, Types.timeseries = False
}
Expand Down Expand Up @@ -783,9 +782,6 @@ workloadAppend w p = p {Types.workloads = Types.workloads p ++ [w]}
tracer :: (Types.Tracer -> Types.Tracer) -> Types.Profile -> Types.Profile
tracer f p = p {Types.tracer = f (Types.tracer p)}

tracerRtview :: Types.Profile -> Types.Profile
tracerRtview = tracer (\t -> t {Types.rtview = True})

tracerWithresources :: Types.Profile -> Types.Profile
tracerWithresources = tracer (\t -> t {Types.withresources = True})

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -597,8 +597,7 @@ instance Aeson.FromJSON Entrypoints where
--------------------------------------------------------------------------------

data Tracer = Tracer
{ rtview :: Bool
, ekg :: Bool
{ ekg :: Bool
, withresources :: Bool
, timeseries :: Bool
}
Expand Down
3 changes: 1 addition & 2 deletions bench/cardano-profile/test/Main.hs
Original file line number Diff line number Diff line change
Expand Up @@ -372,8 +372,7 @@ ciTestBage = Types.Profile {
}
, Types.workloads = []
, Types.tracer = Types.Tracer {
Types.rtview = False
, Types.ekg = False
Types.ekg = False
, Types.withresources = False
, Types.timeseries = False
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"title": "Cardano Node (RTView port)",
"title": "Cardano Node",
"uid": "cardano-node-rtview-port",
"schemaVersion": 38,
"version": 1,
Expand Down Expand Up @@ -933,4 +933,4 @@
}
]
}
}
}
8 changes: 7 additions & 1 deletion cardano-tracer/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@

## NEXT

## 0.6.0 (June 2026)
* Remove RTView: the experimental opt-in browser dashboard (`flag rtview`) has been
removed entirely. The `hasRTView` field is removed from `TracerConfig`. The
`threepenny-gui`, `cassava`, `string-qq`, `cardano-git-rev`, and `utf8-string`
dependencies that were RTView-only are no longer required.

## 0.5.0 (June 2026)
* Timeseries query endpoint: `POST /timeseries/query` now expects an
`application/x-www-form-urlencoded` body (Prometheus wire format).
Expand All @@ -14,7 +20,7 @@
- `GET /timeseries/node/{id}/info` — node info (name, protocol, version,
commit, start time, system start time) plus `uptimeSeconds`.
- `GET /timeseries/node/{id}/startup` — node startup info.
- `GET /timeseries/node/{id}/state` — sync progress (RTView build only).
- `GET /timeseries/node/{id}/state` — sync progress.
* Metric names stored in the timeseries are sanitised: `.`, `-`, and spaces
are replaced with `_`; all other non-alphanumeric, non-underscore characters
are stripped. This aligns stored names with Prometheus label conventions.
Expand Down
14 changes: 1 addition & 13 deletions cardano-tracer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,10 @@

For more details please [read the documentation](https://github.com/intersectmbo/cardano-node/blob/master/cardano-tracer/docs/cardano-tracer.md).

## RTView

> Attention: RTView is hidden behind a build flag. Enable with this cabal flag: `-f +rtview`.

RTView is a real-time monitoring tool for Cardano nodes (RTView is an abbreviation for "Real Time View"), it is a part of `cardano-tracer` service. RTView provides an interactive web page where you can see different kinds of information about connected nodes (something like Grafana).

For more details please [read its documentation](https://github.com/intersectmbo/cardano-node/blob/master/cardano-tracer/docs/cardano-rtview.md).

RTView is not feature complete and is thus disabled by default. Being
an experimental/optional component of `cardano-tracer` we will still
guarantee it remains buildable and usable in its current state.

## Developers

Performance and Tracing team is responsible for this service. The primary developer is [Baldur Blöndal](https://github.com/Icelandjack).

## Feedback

Your bug reports and/or Feature Requests are welcome! Feel free to open a ticket in [this repository](https://github.com/intersectmbo/cardano-node/issues) with labels `RTView` and `tracing`.
Your bug reports and/or Feature Requests are welcome! Feel free to open a ticket in [this repository](https://github.com/intersectmbo/cardano-node/issues) with label `tracing`.
6 changes: 1 addition & 5 deletions cardano-tracer/app/cardano-tracer.hs
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,7 @@ main =
tracerInfo :: ParserInfo TracerParams
tracerInfo = info
(parseTracerParams <**> helper <**> versionOption)
#if RTVIEW
(fullDesc <> header "cardano-tracer/with RTView - the logging and monitoring service for Cardano nodes.")
#else
(fullDesc <> header "cardano-tracer/without RTView - the logging and monitoring service for Cardano nodes.")
#endif
(fullDesc <> header "cardano-tracer - the logging and monitoring service for Cardano nodes.")

versionOption :: Parser (a -> a)
versionOption = infoOption
Expand Down
34 changes: 1 addition & 33 deletions cardano-tracer/bench/cardano-tracer-bench.hs
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,12 @@ import qualified Cardano.Logging.Types as Net
import Cardano.Tracer.Configuration
import Cardano.Tracer.Environment
import Cardano.Tracer.Handlers.Logs.TraceObjects
#if RTVIEW
import Cardano.Tracer.Handlers.RTView.Run
import Cardano.Tracer.Handlers.RTView.State.Historical
#endif
import Cardano.Tracer.MetaTrace
import Cardano.Tracer.Types
import Cardano.Tracer.Utils


import Control.Concurrent.Extra (newLock)
#if RTVIEW
import Control.Concurrent.STM.TVar (newTVarIO)
#endif
import Control.DeepSeq
import qualified Data.List.NonEmpty as NE
import Data.Time.Clock (UTCTime, getCurrentTime)
Expand All @@ -43,24 +36,12 @@ main = do
connectedNodes <- initConnectedNodes
connectedNodesNames <- initConnectedNodesNames
acceptedMetrics <- initAcceptedMetrics
#if RTVIEW
savedTO <- initSavedTraceObjects

chainHistory <- initBlockchainHistory
resourcesHistory <- initResourcesHistory
txHistory <- initTransactionsHistory
#endif

protocolsBrake <- initProtocolsBrake
dpRequestors <- initDataPointRequestors

currentLogLock <- newLock
currentDPLock <- newLock
#if RTVIEW
eventsQueues <- initEventsQueues mempty Nothing connectedNodesNames dpRequestors currentDPLock

rtViewPageOpened <- newTVarIO False
#endif

tracer <- mkTraceBundle $ SeverityF $ Just Warning

Expand All @@ -82,18 +63,6 @@ main = do
, teTimeseriesHandle = Nothing
}

tracerEnvRTView :: TracerEnvRTView
tracerEnvRTView = TracerEnvRTView
#if RTVIEW
{ teSavedTO = savedTO
, teBlockchainHistory = chainHistory
, teResourcesHistory = resourcesHistory
, teTxHistory = txHistory
, teEventsQueues = eventsQueues
, teRTViewPageOpened = rtViewPageOpened
}
#endif

removePathForcibly root

let -- Handles cleanup between runs, closes handles before
Expand All @@ -111,7 +80,7 @@ main = do
benchmark :: TracerEnv -> IO ()
benchmark trEnv = do
beforeProgramStops do
traceObjectsHandler trEnv tracerEnvRTView nId traceObjects
traceObjectsHandler trEnv nId traceObjects

in
perRunEnvWithCleanup @TracerEnv initialise cleanup benchmark
Expand Down Expand Up @@ -148,7 +117,6 @@ main = do
, ekgRequestFreq = Nothing
, hasEKG = Nothing
, hasPrometheus = Nothing
, hasRTView = Nothing
, hasTimeseries = Nothing
, tlsCertificate = Nothing
, logging = NE.fromList [LoggingParams root FileMode format]
Expand Down
Loading
Loading