Skip to content

Commit

Permalink
Merge #3570
Browse files Browse the repository at this point in the history
3570: Adjust tracing configuration to follow the POM model r=Jimbo4350 a=Jimbo4350

Resolves #3534 

Co-authored-by: Jordan Millar <jordan.millar@iohk.io>
  • Loading branch information
iohk-bors[bot] and Jimbo4350 committed Feb 9, 2022
2 parents 85708c4 + bdfd5ae commit 333c701
Show file tree
Hide file tree
Showing 12 changed files with 555 additions and 243 deletions.
3 changes: 3 additions & 0 deletions cabal.project
Expand Up @@ -34,6 +34,9 @@ package cardano-node
package cardano-node-chairman
ghc-options: -Werror

package cardano-testnet
ghc-options: -Werror

package tx-generator
ghc-options: -Werror

Expand Down
2 changes: 1 addition & 1 deletion cardano-api/src/Cardano/Api/TxBody.hs
Expand Up @@ -1293,7 +1293,7 @@ deriving instance Show (TxCertificates build era)


-- ----------------------------------------------------------------------------
-- Transaction metadata (era-dependent)
-- Transaction update proposal (era-dependent)
--

data TxUpdateProposal era where
Expand Down
6 changes: 3 additions & 3 deletions cardano-node-chairman/test/Main.hs
Expand Up @@ -4,17 +4,17 @@ module Main
( main
) where

import Prelude
import Prelude

import qualified System.Environment as E
import qualified Test.Tasty as T
import qualified Test.Tasty.Ingredients as T
import qualified Test.Tasty.Hedgehog as H
import qualified Test.Tasty.Ingredients as T

import qualified Spec.Network
import qualified Spec.Chairman.Byron
import qualified Spec.Chairman.Cardano
import qualified Spec.Chairman.Shelley
import qualified Spec.Network

tests :: IO T.TestTree
tests = do
Expand Down
22 changes: 10 additions & 12 deletions cardano-node/src/Cardano/Node/Configuration/POM.hs
Expand Up @@ -28,6 +28,7 @@ import Prelude (String)
import Control.Monad (fail)
import Data.Aeson
import qualified Data.Aeson.Types as Aeson
import qualified Data.Text as Text
import Data.Time.Clock (DiffTime)
import Data.Yaml (decodeFileThrow)
import Generic.Data (gmappend)
Expand Down Expand Up @@ -166,7 +167,7 @@ data PartialNodeConfiguration
-- Logging parameters:
, pncLoggingSwitch :: !(Last Bool)
, pncLogMetrics :: !(Last Bool)
, pncTraceConfig :: !(Last TraceOptions)
, pncTraceConfig :: !(Last PartialTraceOptions)

-- Configuration for testing purposes
, pncMaybeMempoolCapacityOverride :: !(Last MempoolCapacityBytesOverride)
Expand Down Expand Up @@ -218,13 +219,13 @@ instance FromJSON PartialNodeConfiguration where
pncLoggingSwitch' <- v .:? "TurnOnLogging" .!= True
pncLogMetrics <- Last <$> v .:? "TurnOnLogMetrics"
useTraceDispatcher <- v .:? "UseTraceDispatcher" .!= False
pncTraceConfig <- Last . Just <$> if pncLoggingSwitch'
then
traceConfigParser v
(if useTraceDispatcher
then TraceDispatcher
else TracingOnLegacy)
else pure TracingOff
pncTraceConfig <- if pncLoggingSwitch'
then do
partialTraceSelection <- parseJSON $ Object v
if useTraceDispatcher
then Last . Just <$> return (PartialTraceDispatcher partialTraceSelection)
else Last . Just <$> return (PartialTracingOnLegacy partialTraceSelection)
else Last . Just <$> return PartialTracingOff

-- Protocol parameters
protocol <- v .:? "Protocol" .!= ByronProtocol
Expand Down Expand Up @@ -442,9 +443,6 @@ defaultPartialNodeConfiguration =
lastOption :: Parser a -> Parser (Last a)
lastOption = fmap Last . optional

lastToEither :: String -> Last a -> Either String a
lastToEither errMsg (Last x) = maybe (Left errMsg) Right x

makeNodeConfiguration :: PartialNodeConfiguration -> Either String NodeConfiguration
makeNodeConfiguration pnc = do
configFile <- lastToEither "Missing YAML config file" $ pncConfigFile pnc
Expand All @@ -455,7 +453,7 @@ makeNodeConfiguration pnc = do
protocolConfig <- lastToEither "Missing ProtocolConfig" $ pncProtocolConfig pnc
loggingSwitch <- lastToEither "Missing LoggingSwitch" $ pncLoggingSwitch pnc
logMetrics <- lastToEither "Missing LogMetrics" $ pncLogMetrics pnc
traceConfig <- lastToEither "Missing TraceConfig" $ pncTraceConfig pnc
traceConfig <- first Text.unpack $ partialTraceSelectionToEither $ pncTraceConfig pnc
diffusionMode <- lastToEither "Missing DiffusionMode" $ pncDiffusionMode pnc
snapshotInterval <- lastToEither "Missing SnapshotInterval" $ pncSnapshotInterval pnc
shutdownConfig <- lastToEither "Missing ShutdownConfig" $ pncShutdownConfig pnc
Expand Down
38 changes: 18 additions & 20 deletions cardano-node/src/Cardano/Node/Run.hs
@@ -1,13 +1,13 @@
{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE CPP #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE PackageImports #-}
{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE CPP #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE PackageImports #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TupleSections #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TupleSections #-}
{-# LANGUAGE TypeApplications #-}

#if !defined(mingw32_HOST_OS)
#define UNIX
Expand All @@ -18,9 +18,9 @@ module Cardano.Node.Run
, checkVRFFilePermissions
) where

import Cardano.Prelude hiding (ByteString, STM, atomically, take, trace)
import Prelude (String, error, id)
import Cardano.Prelude hiding (ByteString, STM, atomically, putStrLn, show, take, trace)
import Data.IP (toSockAddr)
import Prelude (String, error, id, putStrLn, show)

import qualified Control.Concurrent.Async as Async
import Control.Monad.Class.MonadSTM.Strict
Expand All @@ -34,8 +34,7 @@ import Data.Time.Clock (getCurrentTime)
import Data.Version (showVersion)
import Network.HostName (getHostName)
import Network.Socket (Socket)
import System.Directory (canonicalizePath, createDirectoryIfMissing,
makeAbsolute)
import System.Directory (canonicalizePath, createDirectoryIfMissing, makeAbsolute)
import System.Environment (lookupEnv)

#ifdef UNIX
Expand All @@ -55,19 +54,18 @@ import qualified Cardano.Crypto.Libsodium as Crypto

import Cardano.Node.Configuration.Logging (LoggingLayer (..), createLoggingLayer,
shutdownLoggingLayer)
import Cardano.Node.Configuration.NodeAddress
import Cardano.Node.Configuration.POM (NodeConfiguration (..),
PartialNodeConfiguration (..), SomeNetworkP2PMode (..),
defaultPartialNodeConfiguration, makeNodeConfiguration, parseNodeConfigurationFP)
import Cardano.Node.Configuration.NodeAddress
import Cardano.Node.Startup
import Cardano.Node.Types
import Cardano.Node.Tracing.API
import Cardano.Node.Tracing.Tracers.Startup (getStartupInfo)
import Cardano.Node.Types
import Cardano.Tracing.Config (TraceOptions (..), TraceSelection (..))

import qualified Ouroboros.Consensus.Config as Consensus
import Ouroboros.Consensus.Config.SupportsNode
(ConfigSupportsNode (..))
import Ouroboros.Consensus.Config.SupportsNode (ConfigSupportsNode (..))
import Ouroboros.Consensus.Node (NetworkP2PMode (..), RunNode, RunNodeArgs (..),
StdRunNodeArgs (..))
import qualified Ouroboros.Consensus.Node as Node (getChainDB, run)
Expand Down Expand Up @@ -96,8 +94,8 @@ import qualified Cardano.Node.Configuration.TopologyP2P as TopologyP2P
import Cardano.Node.Handlers.Shutdown
import Cardano.Node.Protocol (mkConsensusProtocol)
import Cardano.Node.Protocol.Types
import Cardano.Node.TraceConstraints (TraceConstraints)
import Cardano.Node.Queries
import Cardano.Node.TraceConstraints (TraceConstraints)
import Cardano.Tracing.Peer
import Cardano.Tracing.Tracers

Expand All @@ -116,7 +114,7 @@ runNode cmdPc = do
Left err -> panic $ "Error in creating the NodeConfiguration: " <> Text.pack err
Right nc' -> return nc'

putStrLn $ "Node configuration: " <> show @_ @Text nc
putStrLn $ "Node configuration: " <> show nc

case shelleyVRFFile $ ncProtocolFiles nc of
Just vrfFp -> do vrf <- runExceptT $ checkVRFFilePermissions vrfFp
Expand Down Expand Up @@ -181,7 +179,7 @@ handleNodeWithTracers cmdPc nc p networkMagic runP = do
p

loggingLayer <- case eLoggingLayer of
Left err -> putTextLn (show err) >> exitFailure
Left err -> putTextLn (Text.pack $ show err) >> exitFailure
Right res -> return res
!trace <- setupTrace loggingLayer
let tracer = contramap pack $ toLogObject trace
Expand Down

0 comments on commit 333c701

Please sign in to comment.