mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-05-27 10:20:38 +00:00
feat: specify prom server start addr (#1111)
* feat: specify promql server start addr * refactor: rename promql to prom in Prometheus API server scenario
This commit is contained in:
@@ -28,8 +28,8 @@ use crate::instance::FrontendInstance;
|
||||
use crate::mysql::MysqlOptions;
|
||||
use crate::opentsdb::OpentsdbOptions;
|
||||
use crate::postgres::PostgresOptions;
|
||||
use crate::prom::PromOptions;
|
||||
use crate::prometheus::PrometheusOptions;
|
||||
use crate::promql::PromqlOptions;
|
||||
use crate::server::Services;
|
||||
|
||||
#[derive(Clone, Debug, Serialize, Deserialize)]
|
||||
@@ -43,7 +43,7 @@ pub struct FrontendOptions {
|
||||
pub opentsdb_options: Option<OpentsdbOptions>,
|
||||
pub influxdb_options: Option<InfluxdbOptions>,
|
||||
pub prometheus_options: Option<PrometheusOptions>,
|
||||
pub promql_options: Option<PromqlOptions>,
|
||||
pub prom_options: Option<PromOptions>,
|
||||
pub meta_client_options: Option<MetaClientOptions>,
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@ impl Default for FrontendOptions {
|
||||
opentsdb_options: Some(OpentsdbOptions::default()),
|
||||
influxdb_options: Some(InfluxdbOptions::default()),
|
||||
prometheus_options: Some(PrometheusOptions::default()),
|
||||
promql_options: Some(PromqlOptions::default()),
|
||||
prom_options: Some(PromOptions::default()),
|
||||
meta_client_options: None,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ use query::parser::PromQuery;
|
||||
use query::query_engine::options::{validate_catalog_and_schema, QueryOptions};
|
||||
use servers::error as server_error;
|
||||
use servers::interceptor::{SqlQueryInterceptor, SqlQueryInterceptorRef};
|
||||
use servers::promql::{PromqlHandler, PromqlHandlerRef};
|
||||
use servers::prom::{PromHandler, PromHandlerRef};
|
||||
use servers::query_handler::grpc::{GrpcQueryHandler, GrpcQueryHandlerRef};
|
||||
use servers::query_handler::sql::{SqlQueryHandler, SqlQueryHandlerRef};
|
||||
use servers::query_handler::{
|
||||
@@ -81,7 +81,7 @@ pub trait FrontendInstance:
|
||||
+ InfluxdbLineProtocolHandler
|
||||
+ PrometheusProtocolHandler
|
||||
+ ScriptHandler
|
||||
+ PromqlHandler
|
||||
+ PromHandler
|
||||
+ Send
|
||||
+ Sync
|
||||
+ 'static
|
||||
@@ -99,7 +99,7 @@ pub struct Instance {
|
||||
script_handler: Option<ScriptHandlerRef>,
|
||||
sql_handler: SqlQueryHandlerRef<Error>,
|
||||
grpc_query_handler: GrpcQueryHandlerRef<Error>,
|
||||
promql_handler: Option<PromqlHandlerRef>,
|
||||
promql_handler: Option<PromHandlerRef>,
|
||||
|
||||
create_expr_factory: CreateExprFactoryRef,
|
||||
|
||||
@@ -539,7 +539,7 @@ impl ScriptHandler for Instance {
|
||||
}
|
||||
|
||||
#[async_trait]
|
||||
impl PromqlHandler for Instance {
|
||||
impl PromHandler for Instance {
|
||||
async fn do_query(&self, query: &PromQuery) -> server_error::Result<Output> {
|
||||
if let Some(promql_handler) = &self.promql_handler {
|
||||
promql_handler.do_query(query).await
|
||||
|
||||
@@ -25,8 +25,8 @@ pub mod instance;
|
||||
pub mod mysql;
|
||||
pub mod opentsdb;
|
||||
pub mod postgres;
|
||||
pub mod prom;
|
||||
pub mod prometheus;
|
||||
pub mod promql;
|
||||
mod server;
|
||||
mod sql;
|
||||
mod table;
|
||||
|
||||
@@ -15,11 +15,11 @@
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, Serialize, Deserialize)]
|
||||
pub struct PromqlOptions {
|
||||
pub struct PromOptions {
|
||||
pub addr: String,
|
||||
}
|
||||
|
||||
impl Default for PromqlOptions {
|
||||
impl Default for PromOptions {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
addr: "127.0.0.1:4004".to_string(),
|
||||
@@ -29,11 +29,11 @@ impl Default for PromqlOptions {
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::PromqlOptions;
|
||||
use super::PromOptions;
|
||||
|
||||
#[test]
|
||||
fn test_prometheus_options() {
|
||||
let default = PromqlOptions::default();
|
||||
let default = PromOptions::default();
|
||||
assert_eq!(default.addr, "127.0.0.1:4004".to_string());
|
||||
}
|
||||
}
|
||||
@@ -25,7 +25,7 @@ use servers::http::HttpServer;
|
||||
use servers::mysql::server::{MysqlServer, MysqlSpawnConfig, MysqlSpawnRef};
|
||||
use servers::opentsdb::OpentsdbServer;
|
||||
use servers::postgres::PostgresServer;
|
||||
use servers::promql::PromqlServer;
|
||||
use servers::prom::PromServer;
|
||||
use servers::query_handler::grpc::ServerGrpcQueryHandlerAdaptor;
|
||||
use servers::query_handler::sql::ServerSqlQueryHandlerAdaptor;
|
||||
use servers::server::Server;
|
||||
@@ -183,15 +183,15 @@ impl Services {
|
||||
None
|
||||
};
|
||||
|
||||
let promql_server_and_addr = if let Some(promql_options) = &opts.promql_options {
|
||||
let promql_addr = parse_addr(&promql_options.addr)?;
|
||||
let prom_server_and_addr = if let Some(prom_options) = &opts.prom_options {
|
||||
let prom_addr = parse_addr(&prom_options.addr)?;
|
||||
|
||||
let mut promql_server = PromqlServer::create_server(instance.clone());
|
||||
let mut prom_server = PromServer::create_server(instance.clone());
|
||||
if let Some(user_provider) = user_provider {
|
||||
promql_server.set_user_provider(user_provider);
|
||||
prom_server.set_user_provider(user_provider);
|
||||
}
|
||||
|
||||
Some((promql_server as _, promql_addr))
|
||||
Some((prom_server as _, prom_addr))
|
||||
} else {
|
||||
None
|
||||
};
|
||||
@@ -202,7 +202,7 @@ impl Services {
|
||||
start_server(mysql_server_and_addr),
|
||||
start_server(postgres_server_and_addr),
|
||||
start_server(opentsdb_server_and_addr),
|
||||
start_server(promql_server_and_addr),
|
||||
start_server(prom_server_and_addr),
|
||||
)
|
||||
.context(error::StartServerSnafu)?;
|
||||
Ok(())
|
||||
|
||||
Reference in New Issue
Block a user