Feature gate instrument imports on overwatch-derive.
This commit is contained in:
parent
dd93596818
commit
f8a0cc2681
|
@ -21,6 +21,9 @@ exclude = [
|
|||
[lib]
|
||||
proc-macro = true
|
||||
|
||||
[features]
|
||||
instrumentation = []
|
||||
|
||||
[dependencies]
|
||||
heck = "0.4"
|
||||
syn = "1.0"
|
||||
|
|
|
@ -3,6 +3,8 @@ mod utils;
|
|||
use proc_macro_error::{abort_call_site, proc_macro_error};
|
||||
use quote::{format_ident, quote};
|
||||
use syn::{punctuated::Punctuated, token::Comma, Data, DeriveInput, Field, Generics};
|
||||
#[cfg(feature = "instrumentation")]
|
||||
use tracing::instrument;
|
||||
|
||||
#[proc_macro_derive(Services)]
|
||||
#[proc_macro_error]
|
||||
|
@ -185,7 +187,8 @@ fn generate_start_all_impl(fields: &Punctuated<Field, Comma>) -> proc_macro2::To
|
|||
});
|
||||
|
||||
quote! {
|
||||
#[::tracing::instrument(skip(self), err)]
|
||||
|
||||
#[cfg_attr(feature = "instrumentation", instrument(skip(self), err))]
|
||||
fn start_all(&mut self) -> Result<::overwatch_rs::overwatch::ServicesLifeCycleHandle, ::overwatch_rs::overwatch::Error> {
|
||||
::std::result::Result::Ok([#( #call_start ),*].try_into()?)
|
||||
}
|
||||
|
@ -205,7 +208,7 @@ fn generate_start_impl(fields: &Punctuated<Field, Comma>) -> proc_macro2::TokenS
|
|||
});
|
||||
|
||||
quote! {
|
||||
#[::tracing::instrument(skip(self), err)]
|
||||
#[cfg_attr(feature = "instrumentation", instrument(skip(self), err))]
|
||||
fn start(&mut self, service_id: ::overwatch_rs::services::ServiceId) -> Result<(), ::overwatch_rs::overwatch::Error> {
|
||||
match service_id {
|
||||
#( #cases ),*
|
||||
|
@ -226,7 +229,7 @@ fn generate_stop_impl(fields: &Punctuated<Field, Comma>) -> proc_macro2::TokenSt
|
|||
});
|
||||
|
||||
quote! {
|
||||
#[::tracing::instrument(skip(self), err)]
|
||||
#[cfg_attr(feature = "instrumentation", instrument(skip(self), err))]
|
||||
fn stop(&mut self, service_id: ::overwatch_rs::services::ServiceId) -> Result<(), ::overwatch_rs::overwatch::Error> {
|
||||
match service_id {
|
||||
#( #cases ),*
|
||||
|
@ -252,7 +255,7 @@ fn generate_request_relay_impl(fields: &Punctuated<Field, Comma>) -> proc_macro2
|
|||
});
|
||||
|
||||
quote! {
|
||||
#[::tracing::instrument(skip(self), err)]
|
||||
#[cfg_attr(feature = "instrumentation", instrument(skip(self), err))]
|
||||
fn request_relay(&mut self, service_id: ::overwatch_rs::services::ServiceId) -> ::overwatch_rs::services::relay::RelayResult {
|
||||
{
|
||||
match service_id {
|
||||
|
@ -282,7 +285,7 @@ fn generate_update_settings_impl(fields: &Punctuated<Field, Comma>) -> proc_macr
|
|||
});
|
||||
|
||||
quote! {
|
||||
#[::tracing::instrument(skip(self, settings), err)]
|
||||
#[cfg_attr(feature = "instrumentation", instrument(skip(self, settings), err))]
|
||||
fn update_settings(&mut self, settings: Self::Settings) -> Result<(), ::overwatch_rs::overwatch::Error> {
|
||||
let Self::Settings {
|
||||
#( #fields_settings ),*
|
||||
|
|
Loading…
Reference in New Issue