1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
// Copyright Materialize, Inc. and contributors. All rights reserved.
//
// Use of this software is governed by the Business Source License
// included in the LICENSE file.
//
// As of the Change Date specified in that file, in accordance with
// the Business Source License, use of this software will be governed
// by the Apache License, Version 2.0.
//! Compute configuration types.
use serde::{Deserialize, Serialize};
use std::time::Duration;
/// Replica configuration
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
pub struct ComputeReplicaConfig {
/// TODO(database-issues#7533): Add documentation.
pub logging: ComputeReplicaLogging,
}
/// Logging configuration of a replica.
#[derive(Clone, Debug, Default, Eq, PartialEq, Ord, PartialOrd, Serialize, Deserialize)]
pub struct ComputeReplicaLogging {
/// Whether to enable logging for the logging dataflows.
pub log_logging: bool,
/// The interval at which to log.
///
/// A `None` value indicates that logging is disabled.
pub interval: Option<Duration>,
}
impl ComputeReplicaLogging {
/// Return whether logging is enabled.
pub fn enabled(&self) -> bool {
self.interval.is_some()
}
}