77{-# LANGUAGE RecordWildCards #-}
88{-# LANGUAGE ScopedTypeVariables #-}
99{-# LANGUAGE StandaloneDeriving #-}
10+ {-# LANGUAGE TemplateHaskell #-}
1011{-# LANGUAGE TypeOperators #-}
12+
1113{-# OPTIONS_GHC -Wno-orphans #-}
1214
1315module Cardano.Node.Tracing.Documentation
@@ -18,7 +20,7 @@ module Cardano.Node.Tracing.Documentation
1820 , docTracersFirstPhase
1921 ) where
2022
21- import Cardano.Node.Tracing.NodeStartupInfo () -- MetaTrace NodeVersionTrace
23+ import Cardano.Git.Rev ( gitRev )
2224import Cardano.Logging as Logging
2325import Cardano.Logging.Resources
2426import Cardano.Logging.Resources.Types ()
@@ -29,6 +31,7 @@ import Cardano.Node.TraceConstraints
2931import Cardano.Node.Tracing.DefaultTraceConfig (defaultCardanoConfig )
3032import Cardano.Node.Tracing.Formatting ()
3133import Cardano.Node.Tracing.NodeInfo ()
34+ import Cardano.Node.Tracing.NodeStartupInfo ()
3235import qualified Cardano.Node.Tracing.StateRep as SR
3336import Cardano.Node.Tracing.Tracers.BlockReplayProgress
3437import Cardano.Node.Tracing.Tracers.ChainDB
@@ -111,13 +114,18 @@ import Control.Exception (SomeException)
111114import Control.Monad (forM_ )
112115import Data.Aeson.Types (ToJSON )
113116import Data.Proxy (Proxy (.. ))
117+ import Data.Text (pack )
114118import qualified Data.Text.IO as T
119+ import Data.Time (getZonedTime )
120+ import Data.Version (showVersion )
115121import GHC.Generics (Generic )
116122import qualified Network.Mux as Mux
117123import qualified Network.Socket as Socket
118124import qualified Options.Applicative as Opt
119125import System.IO
120126
127+ import Paths_cardano_node (version )
128+
121129
122130data TraceDocumentationCmd
123131 = TraceDocumentationCmd
@@ -832,6 +840,7 @@ docTracersFirstPhase condConfigFileName = do
832840 <> dtAcceptPolicyTrDoc
833841-- Internal tracer
834842 <> internalTrDoc
843+
835844 pure (bl,trConfig)
836845
837846docTracersSecondPhase ::
@@ -841,8 +850,15 @@ docTracersSecondPhase ::
841850 -> DocTracer
842851 -> IO ()
843852docTracersSecondPhase outputFileName mbMetricsHelpFilename trConfig bl = do
844- docuResultsToText bl trConfig
845- >>= doWrite outputFileName
853+ let text = docuResultsToText bl trConfig
854+ time <- getZonedTime
855+ let stamp = " Generated at "
856+ <> pack (show time)
857+ <> " , git commit hash "
858+ <> $ (gitRev)
859+ <> " , node version "
860+ <> pack (showVersion version) <> " \n "
861+ doWrite outputFileName (text <> stamp)
846862 forM_ mbMetricsHelpFilename $ \ f ->
847863 doWrite f (docuResultsToMetricsHelptext bl)
848864 where
0 commit comments