Skip to content

Commit

Permalink
chore: apply clippy suggestions
Browse files Browse the repository at this point in the history
  • Loading branch information
etolbakov committed Jul 11, 2023
1 parent e3a4b29 commit e627883
Show file tree
Hide file tree
Showing 12 changed files with 49 additions and 25 deletions.
2 changes: 1 addition & 1 deletion config/frontend.example.toml
Expand Up @@ -47,7 +47,7 @@ runtime_size = 2
[influxdb_options]
enable = true

# Prometheus protocol options, see `standalone.example.toml`.
# Prometheus remote storage options, see `standalone.example.toml`.
[prom_store_options]
enable = true

Expand Down
4 changes: 2 additions & 2 deletions config/standalone.example.toml
Expand Up @@ -69,12 +69,12 @@ runtime_size = 2
# Whether to enable InfluxDB protocol in HTTP API, true by default.
enable = true

# Prometheus protocol options.
# Prometheus remote storage options
[prom_store_options]
# Whether to enable Prometheus remote write and read in HTTP API, true by default.
enable = true

# Prom protocol options.
# Prometheus protocol options
[prometheus_options]
# Prometheus API server address, "127.0.0.1:4004" by default.
addr = "127.0.0.1:4004"
Expand Down
5 changes: 4 additions & 1 deletion src/cmd/src/frontend.rs
Expand Up @@ -274,7 +274,10 @@ mod tests {
opts.opentsdb_options.as_ref().unwrap().addr,
"127.0.0.1:4321"
);
assert_eq!(opts.prometheus_options.as_ref().unwrap().addr, "127.0.0.1:4444");
assert_eq!(
opts.prometheus_options.as_ref().unwrap().addr,
"127.0.0.1:4444"
);

let default_opts = FrontendOptions::default();
assert_eq!(
Expand Down
4 changes: 2 additions & 2 deletions src/cmd/src/standalone.rs
Expand Up @@ -23,8 +23,8 @@ use datanode::instance::InstanceRef;
use frontend::frontend::FrontendOptions;
use frontend::instance::{FrontendInstance, Instance as FeInstance};
use frontend::service_config::{
GrpcOptions, InfluxdbOptions, MysqlOptions, OpentsdbOptions, PostgresOptions, PrometheusOptions,
PromStoreOptions,
GrpcOptions, InfluxdbOptions, MysqlOptions, OpentsdbOptions, PostgresOptions, PromStoreOptions,
PrometheusOptions,
};
use serde::{Deserialize, Serialize};
use servers::http::HttpOptions;
Expand Down
4 changes: 2 additions & 2 deletions src/frontend/src/frontend.rs
Expand Up @@ -19,8 +19,8 @@ use servers::http::HttpOptions;
use servers::Mode;

use crate::service_config::{
GrpcOptions, InfluxdbOptions, MysqlOptions, OpentsdbOptions, PostgresOptions, PrometheusOptions,
PromStoreOptions,
GrpcOptions, InfluxdbOptions, MysqlOptions, OpentsdbOptions, PostgresOptions, PromStoreOptions,
PrometheusOptions,
};

#[derive(Clone, Debug, Serialize, Deserialize)]
Expand Down
4 changes: 2 additions & 2 deletions src/frontend/src/service_config.rs
Expand Up @@ -17,13 +17,13 @@ pub mod influxdb;
pub mod mysql;
pub mod opentsdb;
pub mod postgres;
pub mod prometheus;
pub mod prom_store;
pub mod prometheus;

pub use grpc::GrpcOptions;
pub use influxdb::InfluxdbOptions;
pub use mysql::MysqlOptions;
pub use opentsdb::OpentsdbOptions;
pub use postgres::PostgresOptions;
pub use prometheus::PrometheusOptions;
pub use prom_store::PromStoreOptions;
pub use prometheus::PrometheusOptions;
4 changes: 2 additions & 2 deletions src/servers/src/grpc.rs
Expand Up @@ -179,8 +179,8 @@ impl Server for GrpcServer {
.add_service(self.create_database_service())
.add_service(self.create_healthcheck_service());
if let Some(prometheus_handler) = &self.prometheus_handler {
builder =
builder.add_service(self.create_prom_query_gateway_service(prometheus_handler.clone()))
builder = builder
.add_service(self.create_prom_query_gateway_service(prometheus_handler.clone()))
}
let builder = builder.add_service(reflection_service);

Expand Down
11 changes: 8 additions & 3 deletions src/servers/src/grpc/prom_query_gateway.rs
Expand Up @@ -33,7 +33,9 @@ use tonic::{Request, Response};
use crate::error::InvalidQuerySnafu;
use crate::grpc::handler::create_query_context;
use crate::grpc::TonicResult;
use crate::prometheus::{retrieve_metric_name_and_result_type, PrometheusHandlerRef, PrometheusJsonResponse};
use crate::prometheus::{
retrieve_metric_name_and_result_type, PrometheusHandlerRef, PrometheusJsonResponse,
};

pub struct PrometheusGatewayService {
handler: PrometheusHandlerRef,
Expand Down Expand Up @@ -106,8 +108,11 @@ impl PrometheusGatewayService {
match retrieve_metric_name_and_result_type(&query.query) {
Ok((metric_name, result_type)) => (metric_name.unwrap_or_default(), result_type),
Err(err) => {
return PrometheusJsonResponse::error(err.status_code().to_string(), err.to_string())
.0
return PrometheusJsonResponse::error(
err.status_code().to_string(),
err.to_string(),
)
.0
}
};
// range query only returns matrix
Expand Down
2 changes: 1 addition & 1 deletion src/servers/src/lib.rs
Expand Up @@ -31,8 +31,8 @@ pub mod metrics_handler;
pub mod mysql;
pub mod opentsdb;
pub mod postgres;
pub mod prometheus;
pub mod prom_store;
pub mod prometheus;
pub mod query_handler;
pub mod server;
mod shutdown;
Expand Down
23 changes: 18 additions & 5 deletions src/servers/src/prometheus.rs
Expand Up @@ -105,7 +105,10 @@ impl PrometheusServer {
.with_state(self.query_handler.clone());

Router::new()
.nest(&format!("/api/{PROMETHEUS_API_VERSION_API_VERSION}"), router)
.nest(
&format!("/api/{PROMETHEUS_API_VERSION}"),
router,
)
// middlewares
.layer(
ServiceBuilder::new()
Expand Down Expand Up @@ -448,7 +451,9 @@ pub async fn instant_query(
let result = handler.do_query(&prom_query, Arc::new(query_ctx)).await;
let (metric_name, result_type) = match retrieve_metric_name_and_result_type(&prom_query.query) {
Ok((metric_name, result_type)) => (metric_name.unwrap_or_default(), result_type),
Err(err) => return PrometheusJsonResponse::error(err.status_code().to_string(), err.to_string()),
Err(err) => {
return PrometheusJsonResponse::error(err.status_code().to_string(), err.to_string())
}
};
PrometheusJsonResponse::from_query_result(result, metric_name, result_type).await
}
Expand Down Expand Up @@ -483,7 +488,9 @@ pub async fn range_query(

let result = handler.do_query(&prom_query, Arc::new(query_ctx)).await;
let metric_name = match retrieve_metric_name_and_result_type(&prom_query.query) {
Err(err) => return PrometheusJsonResponse::error(err.status_code().to_string(), err.to_string()),
Err(err) => {
return PrometheusJsonResponse::error(err.status_code().to_string(), err.to_string())
}
Ok((metric_name, _)) => metric_name.unwrap_or_default(),
};
PrometheusJsonResponse::from_query_result(result, metric_name, ValueType::Matrix).await
Expand Down Expand Up @@ -580,7 +587,10 @@ pub async fn labels_query(
if err.status_code() != StatusCode::TableNotFound
&& err.status_code() != StatusCode::TableColumnNotFound
{
return PrometheusJsonResponse::error(err.status_code().to_string(), err.to_string());
return PrometheusJsonResponse::error(
err.status_code().to_string(),
err.to_string(),
);
}
}
}
Expand Down Expand Up @@ -799,7 +809,10 @@ pub async fn label_values_query(
if err.status_code() != StatusCode::TableNotFound
&& err.status_code() != StatusCode::TableColumnNotFound
{
return PrometheusJsonResponse::error(err.status_code().to_string(), err.to_string());
return PrometheusJsonResponse::error(
err.status_code().to_string(),
err.to_string(),
);
}
}
}
Expand Down
5 changes: 3 additions & 2 deletions tests-integration/tests/grpc.rs
Expand Up @@ -23,7 +23,7 @@ use api::v1::{
use client::{Client, Database, DEFAULT_CATALOG_NAME, DEFAULT_SCHEMA_NAME};
use common_catalog::consts::{MIN_USER_TABLE_ID, MITO_ENGINE};
use common_query::Output;
use servers::prometheus::{PromData, PrometheusJsonResponse, PrometheusResponse, PromSeries};
use servers::prometheus::{PromData, PromSeries, PrometheusJsonResponse, PrometheusResponse};
use servers::server::Server;
use tests_integration::test_util::{setup_grpc_server, StorageType};

Expand Down Expand Up @@ -379,7 +379,8 @@ pub async fn test_prom_gateway_query(store_type: StorageType) {
.unwrap()
.into_inner()
.body;
let instant_query_result = serde_json::from_slice::<PrometheusJsonResponse>(&json_bytes).unwrap();
let instant_query_result =
serde_json::from_slice::<PrometheusJsonResponse>(&json_bytes).unwrap();
let expected = PrometheusJsonResponse {
status: "success".to_string(),
data: PrometheusResponse::PromData(PromData {
Expand Down
6 changes: 4 additions & 2 deletions tests-integration/tests/http.rs
Expand Up @@ -332,8 +332,10 @@ pub async fn test_prom_http_api(store_type: StorageType) {
assert_eq!(body.status, "success");
assert_eq!(
body.data,
serde_json::from_value::<PrometheusResponse>(json!(["__name__", "cpu", "host", "memory", "ts"]))
.unwrap()
serde_json::from_value::<PrometheusResponse>(json!([
"__name__", "cpu", "host", "memory", "ts"
]))
.unwrap()
);

// labels query with multiple match[] params
Expand Down

0 comments on commit e627883

Please sign in to comment.