Skip to content

Commit 28dd7ae

Browse files
authored
Merge pull request #2002 from input-output-hk/djo/1981/enhance_logs_in_aggregator
Enhance logs construction and usage in aggregator
2 parents a404b02 + 01bf63f commit 28dd7ae

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+917
-518
lines changed

Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

mithril-aggregator/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mithril-aggregator"
3-
version = "0.5.80"
3+
version = "0.5.81"
44
description = "A Mithril Aggregator server"
55
authors = { workspace = true }
66
edition = { workspace = true }
@@ -44,7 +44,6 @@ slog = { version = "2.7.0", features = [
4444
] }
4545
slog-async = "2.8.0"
4646
slog-bunyan = "2.5.0"
47-
slog-scope = "4.4.0"
4847
sqlite = { version = "0.36.1", features = ["bundled"] }
4948
tar = "0.4.41"
5049
thiserror = "1.0.63"
@@ -70,6 +69,7 @@ mithril-common = { path = "../mithril-common", features = [
7069
"test_tools",
7170
] }
7271
mockall = "0.13.0"
72+
slog-scope = "4.4.0"
7373
slog-term = "2.9.1"
7474
tempfile = "3.12.0"
7575

mithril-aggregator/src/artifact_builder/cardano_immutable_files_full.rs

Lines changed: 29 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use anyhow::Context;
22
use async_trait::async_trait;
33
use semver::Version;
4-
use slog_scope::{debug, warn};
4+
use slog::{debug, warn, Logger};
55
use std::sync::Arc;
66
use thiserror::Error;
77

@@ -11,6 +11,7 @@ use crate::{
1111
};
1212

1313
use super::ArtifactBuilder;
14+
use mithril_common::logging::LoggerExtensions;
1415
use mithril_common::{
1516
entities::{
1617
CardanoDbBeacon, Certificate, CompressionAlgorithm, ProtocolMessagePartKey, Snapshot,
@@ -33,6 +34,7 @@ pub struct CardanoImmutableFilesFullArtifactBuilder {
3334
snapshotter: Arc<dyn Snapshotter>,
3435
snapshot_uploader: Arc<dyn SnapshotUploader>,
3536
compression_algorithm: CompressionAlgorithm,
37+
logger: Logger,
3638
}
3739

3840
impl CardanoImmutableFilesFullArtifactBuilder {
@@ -42,12 +44,14 @@ impl CardanoImmutableFilesFullArtifactBuilder {
4244
snapshotter: Arc<dyn Snapshotter>,
4345
snapshot_uploader: Arc<dyn SnapshotUploader>,
4446
compression_algorithm: CompressionAlgorithm,
47+
logger: Logger,
4548
) -> Self {
4649
Self {
4750
cardano_node_version: cardano_node_version.clone(),
4851
snapshotter,
4952
snapshot_uploader,
5053
compression_algorithm,
54+
logger: logger.new_with_component_name::<Self>(),
5155
}
5256
}
5357

@@ -56,7 +60,10 @@ impl CardanoImmutableFilesFullArtifactBuilder {
5660
beacon: &CardanoDbBeacon,
5761
snapshot_digest: &str,
5862
) -> StdResult<OngoingSnapshot> {
59-
debug!("CardanoImmutableFilesFullArtifactBuilder: create snapshot archive");
63+
debug!(
64+
self.logger,
65+
"CardanoImmutableFilesFullArtifactBuilder: create snapshot archive"
66+
);
6067

6168
let snapshotter = self.snapshotter.clone();
6269
let snapshot_name = format!(
@@ -74,7 +81,7 @@ impl CardanoImmutableFilesFullArtifactBuilder {
7481
})
7582
.await??;
7683

77-
debug!(" > snapshot created: '{:?}'", ongoing_snapshot);
84+
debug!(self.logger, " > snapshot created: '{ongoing_snapshot:?}'");
7885

7986
Ok(ongoing_snapshot)
8087
}
@@ -83,16 +90,19 @@ impl CardanoImmutableFilesFullArtifactBuilder {
8390
&self,
8491
ongoing_snapshot: &OngoingSnapshot,
8592
) -> StdResult<Vec<SnapshotLocation>> {
86-
debug!("CardanoImmutableFilesFullArtifactBuilder: upload snapshot archive");
93+
debug!(
94+
self.logger,
95+
"CardanoImmutableFilesFullArtifactBuilder: upload snapshot archive"
96+
);
8797
let location = self
8898
.snapshot_uploader
8999
.upload_snapshot(ongoing_snapshot.get_file_path())
90100
.await;
91101

92102
if let Err(error) = tokio::fs::remove_file(ongoing_snapshot.get_file_path()).await {
93103
warn!(
94-
" > Post upload ongoing snapshot file removal failure: {}",
95-
error
104+
self.logger,
105+
" > Post upload ongoing snapshot file removal failure: {error}"
96106
);
97107
}
98108

@@ -106,7 +116,10 @@ impl CardanoImmutableFilesFullArtifactBuilder {
106116
snapshot_digest: String,
107117
remote_locations: Vec<String>,
108118
) -> StdResult<Snapshot> {
109-
debug!("CardanoImmutableFilesFullArtifactBuilder: create snapshot");
119+
debug!(
120+
self.logger,
121+
"CardanoImmutableFilesFullArtifactBuilder: create snapshot"
122+
);
110123

111124
let snapshot = Snapshot::new(
112125
snapshot_digest,
@@ -167,7 +180,10 @@ mod tests {
167180

168181
use super::*;
169182

170-
use crate::{snapshot_uploaders::MockSnapshotUploader, DumbSnapshotUploader, DumbSnapshotter};
183+
use crate::{
184+
snapshot_uploaders::MockSnapshotUploader, test_tools::TestLogger, DumbSnapshotUploader,
185+
DumbSnapshotter,
186+
};
171187

172188
#[tokio::test]
173189
async fn should_compute_valid_artifact() {
@@ -187,6 +203,7 @@ mod tests {
187203
dumb_snapshotter.clone(),
188204
dumb_snapshot_uploader.clone(),
189205
CompressionAlgorithm::Zstandard,
206+
TestLogger::stdout(),
190207
);
191208
let artifact = cardano_immutable_files_full_artifact_builder
192209
.compute_artifact(beacon.clone(), &certificate)
@@ -224,6 +241,7 @@ mod tests {
224241
Arc::new(DumbSnapshotter::new()),
225242
Arc::new(DumbSnapshotUploader::new()),
226243
CompressionAlgorithm::default(),
244+
TestLogger::stdout(),
227245
);
228246

229247
cardano_immutable_files_full_artifact_builder
@@ -248,6 +266,7 @@ mod tests {
248266
Arc::new(DumbSnapshotter::new()),
249267
Arc::new(DumbSnapshotUploader::new()),
250268
CompressionAlgorithm::Gzip,
269+
TestLogger::stdout(),
251270
);
252271

253272
let ongoing_snapshot = cardano_immutable_files_full_artifact_builder
@@ -275,6 +294,7 @@ mod tests {
275294
Arc::new(DumbSnapshotter::new()),
276295
Arc::new(DumbSnapshotUploader::new()),
277296
algorithm,
297+
TestLogger::stdout(),
278298
);
279299

280300
let ongoing_snapshot = cardano_immutable_files_full_artifact_builder
@@ -316,6 +336,7 @@ mod tests {
316336
Arc::new(DumbSnapshotter::new()),
317337
Arc::new(snapshot_uploader),
318338
CompressionAlgorithm::default(),
339+
TestLogger::stdout(),
319340
);
320341

321342
cardano_immutable_files_full_artifact_builder

mithril-aggregator/src/artifact_builder/interface.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,8 @@ use mithril_common::{
55
StdResult,
66
};
77

8-
#[cfg(test)]
9-
use mockall::automock;
10-
118
/// ArtifactBuilder is trait for building an artifact
12-
#[cfg_attr(test, automock)]
9+
#[cfg_attr(test, mockall::automock)]
1310
#[async_trait]
1411
pub trait ArtifactBuilder<U, W>: Send + Sync
1512
where

mithril-aggregator/src/commands/era_command.rs

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use mithril_common::{
88
entities::{Epoch, HexEncodedEraMarkersSecretKey},
99
StdResult,
1010
};
11-
use slog_scope::debug;
11+
use slog::{debug, Logger};
1212

1313
use crate::tools::EraTools;
1414

@@ -21,8 +21,14 @@ pub struct EraCommand {
2121
}
2222

2323
impl EraCommand {
24-
pub async fn execute(&self, config_builder: ConfigBuilder<DefaultState>) -> StdResult<()> {
25-
self.era_subcommand.execute(config_builder).await
24+
pub async fn execute(
25+
&self,
26+
root_logger: Logger,
27+
config_builder: ConfigBuilder<DefaultState>,
28+
) -> StdResult<()> {
29+
self.era_subcommand
30+
.execute(root_logger, config_builder)
31+
.await
2632
}
2733
}
2834

@@ -37,10 +43,14 @@ pub enum EraSubCommand {
3743
}
3844

3945
impl EraSubCommand {
40-
pub async fn execute(&self, config_builder: ConfigBuilder<DefaultState>) -> StdResult<()> {
46+
pub async fn execute(
47+
&self,
48+
root_logger: Logger,
49+
config_builder: ConfigBuilder<DefaultState>,
50+
) -> StdResult<()> {
4151
match self {
42-
Self::List(cmd) => cmd.execute(config_builder).await,
43-
Self::GenerateTxDatum(cmd) => cmd.execute(config_builder).await,
52+
Self::List(cmd) => cmd.execute(root_logger, config_builder).await,
53+
Self::GenerateTxDatum(cmd) => cmd.execute(root_logger, config_builder).await,
4454
}
4555
}
4656
}
@@ -54,8 +64,12 @@ pub struct ListEraSubCommand {
5464
}
5565

5666
impl ListEraSubCommand {
57-
pub async fn execute(&self, _config_builder: ConfigBuilder<DefaultState>) -> StdResult<()> {
58-
debug!("LIST ERA command");
67+
pub async fn execute(
68+
&self,
69+
root_logger: Logger,
70+
_config_builder: ConfigBuilder<DefaultState>,
71+
) -> StdResult<()> {
72+
debug!(root_logger, "LIST ERA command");
5973
let era_tools = EraTools::new();
6074
let eras = era_tools.get_supported_eras_list()?;
6175

@@ -91,8 +105,12 @@ pub struct GenerateTxDatumEraSubCommand {
91105
}
92106

93107
impl GenerateTxDatumEraSubCommand {
94-
pub async fn execute(&self, _config_builder: ConfigBuilder<DefaultState>) -> StdResult<()> {
95-
debug!("GENERATETXDATUM ERA command");
108+
pub async fn execute(
109+
&self,
110+
root_logger: Logger,
111+
_config_builder: ConfigBuilder<DefaultState>,
112+
) -> StdResult<()> {
113+
debug!(root_logger, "GENERATETXDATUM ERA command");
96114
let era_tools = EraTools::new();
97115

98116
let era_markers_secret_key =

0 commit comments

Comments
 (0)