Skip to content

Commit

Permalink
write MetricsConfiguration in protobuf
Browse files Browse the repository at this point in the history
  • Loading branch information
Keksoj committed Apr 5, 2023
1 parent a87214f commit ba6928c
Show file tree
Hide file tree
Showing 7 changed files with 22 additions and 20 deletions.
3 changes: 2 additions & 1 deletion bin/src/command/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ use serde::{Deserialize, Serialize};

use sozu_command_lib::{
config::Config,
request::{MetricsConfiguration, Request, WorkerRequest},
proto::command::MetricsConfiguration,
request::{Request, WorkerRequest},
response::{Response, ResponseContent, ResponseStatus, RunState, WorkerResponse},
scm_socket::{Listeners, ScmSocket},
state::ConfigState,
Expand Down
4 changes: 2 additions & 2 deletions bin/src/command/requests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ use sozu_command_lib::{
config::Config,
logging,
parser::parse_several_commands,
proto::command::FrontendFilters,
request::{MetricsConfiguration, Request, WorkerRequest},
proto::command::{FrontendFilters, MetricsConfiguration},
request::{Request, WorkerRequest},
response::{
AggregatedMetrics, AvailableMetrics, ListedFrontends, ListenersList, Response,
ResponseContent, ResponseStatus, RunState, WorkerInfo,
Expand Down
10 changes: 4 additions & 6 deletions bin/src/ctl/request_builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,11 @@ use sozu_command_lib::{
config::{Config, ListenerBuilder},
proto::command::{
AddBackend, AddCertificate, CertificateAndKey, Cluster, FrontendFilters,
LoadBalancingParams, PathRule, ProxyProtocolConfig, RemoveBackend, RemoveCertificate,
ReplaceCertificate, RequestHttpFrontend, RequestTcpFrontend, RulePosition, TlsVersion,
},
request::{
ActivateListener, DeactivateListener, ListenerType, MetricsConfiguration, RemoveListener,
Request,
LoadBalancingParams, MetricsConfiguration, PathRule, ProxyProtocolConfig, RemoveBackend,
RemoveCertificate, ReplaceCertificate, RequestHttpFrontend, RequestTcpFrontend,
RulePosition, TlsVersion,
},
request::{ActivateListener, DeactivateListener, ListenerType, RemoveListener, Request},
};

use crate::{
Expand Down
10 changes: 10 additions & 0 deletions command/src/command.proto
Original file line number Diff line number Diff line change
Expand Up @@ -172,4 +172,14 @@ message QueryMetricsOptions {
repeated string backend_ids = 3;
// query only these metrics
repeated string metric_names = 4;
}

// options to configure metrics collection
enum MetricsConfiguration {
// enable metrics collection
ENABLED = 0;
// disable metrics collection
DISABLED = 1;
// wipe the metrics memory
CLEAR = 2;
}
9 changes: 1 addition & 8 deletions command/src/request.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ use crate::{
proto::command::{
AddBackend, AddCertificate, Cluster, FrontendFilters, LoadBalancingAlgorithms,
PathRuleKind, QueryClusterByDomain, QueryMetricsOptions, RemoveBackend, RemoveCertificate,
ReplaceCertificate, RequestHttpFrontend, RequestTcpFrontend, RulePosition,
ReplaceCertificate, RequestHttpFrontend, RequestTcpFrontend, RulePosition,MetricsConfiguration
},
response::{
HttpFrontend, HttpListenerConfig, HttpsListenerConfig, MessageId, TcpListenerConfig,
Expand Down Expand Up @@ -282,13 +282,6 @@ impl Display for RequestHttpFrontend {
}
}

#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub enum MetricsConfiguration {
Enabled,
Disabled,
Clear,
}

#[derive(Debug)]
pub struct ParseErrorLoadBalancing;

Expand Down
3 changes: 1 addition & 2 deletions lib/src/metrics/local_drain.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@ use hdrhistogram::Histogram;
use sozu_command::response::{AvailableMetrics, BackendMetrics, ResponseContent};

use crate::sozu_command::{
proto::command::QueryMetricsOptions,
request::MetricsConfiguration,
proto::command::{MetricsConfiguration, QueryMetricsOptions},
response::{ClusterMetrics, FilteredMetrics, Percentiles, WorkerMetrics},
};

Expand Down
3 changes: 2 additions & 1 deletion lib/src/metrics/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ use mio::net::UdpSocket;
use sozu_command::response::ResponseContent;

use crate::sozu_command::{
proto::command::QueryMetricsOptions, request::MetricsConfiguration, response::FilteredMetrics,
proto::command::{MetricsConfiguration, QueryMetricsOptions},
response::FilteredMetrics,
};

use self::{local_drain::LocalDrain, network_drain::NetworkDrain};
Expand Down

0 comments on commit ba6928c

Please sign in to comment.