Adding metric support
This commit is contained in:
parent
6cfdc10a6a
commit
6615e05196
22
Cargo.lock
generated
22
Cargo.lock
generated
@ -1549,6 +1549,27 @@ dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "prometheus"
|
||||
version = "0.13.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "449811d15fbdf5ceb5c1144416066429cf82316e2ec8ce0c1f6f8a02e7bbcf8c"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"fnv",
|
||||
"lazy_static",
|
||||
"memchr",
|
||||
"parking_lot 0.12.1",
|
||||
"protobuf",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "protobuf"
|
||||
version = "2.28.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94"
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.29"
|
||||
@ -2137,6 +2158,7 @@ dependencies = [
|
||||
"lazy_static",
|
||||
"log",
|
||||
"poise",
|
||||
"prometheus",
|
||||
"regex",
|
||||
"reqwest",
|
||||
"serde",
|
||||
|
@ -20,6 +20,7 @@ serde_json = "1.0"
|
||||
dashmap = "5.3"
|
||||
serde = "1.0"
|
||||
dotenv = "0.15.0"
|
||||
prometheus = { version = "0.13.3", optional = true }
|
||||
|
||||
[patch."https://github.com/serenity-rs/serenity"]
|
||||
serenity = { version = "0.11.6" }
|
||||
|
@ -5,6 +5,8 @@ use poise::serenity_prelude::{
|
||||
ReactionType,
|
||||
};
|
||||
|
||||
#[cfg(feature = "prometheus")]
|
||||
use crate::metrics::PLAY_COUNTER;
|
||||
use crate::{
|
||||
cmds::autocomplete_sound,
|
||||
models::{guild_data::CtxGuildData, sound::SoundCtx},
|
||||
@ -27,6 +29,9 @@ pub async fn play(
|
||||
|
||||
let guild = ctx.guild().unwrap();
|
||||
|
||||
#[cfg(feature = "prometheus")]
|
||||
PLAY_COUNTER.inc();
|
||||
|
||||
ctx.say(
|
||||
play_from_query(
|
||||
&ctx.serenity_context(),
|
||||
|
@ -105,10 +105,9 @@ pub async fn listener(ctx: &Context, event: &poise::Event<'_>, data: &Data) -> R
|
||||
let mut sound = sqlx::query_as_unchecked!(
|
||||
Sound,
|
||||
"
|
||||
SELECT name, id, public, server_id, uploader_id
|
||||
FROM sounds
|
||||
WHERE id = ?
|
||||
",
|
||||
SELECT name, id, public, server_id, uploader_id
|
||||
FROM sounds
|
||||
WHERE id = ?",
|
||||
join_id
|
||||
)
|
||||
.fetch_one(&data.database)
|
||||
|
@ -5,6 +5,8 @@ mod cmds;
|
||||
mod consts;
|
||||
mod error;
|
||||
mod event_handlers;
|
||||
#[cfg(feature = "prometheus")]
|
||||
mod metrics;
|
||||
mod models;
|
||||
mod utils;
|
||||
|
||||
|
7
src/metrics.rs
Normal file
7
src/metrics.rs
Normal file
@ -0,0 +1,7 @@
|
||||
use lazy_static;
|
||||
use prometheus::{register_int_counter, IntCounter};
|
||||
|
||||
lazy_static! {
|
||||
pub static ref PLAY_COUNTER: IntCounter =
|
||||
register_int_counter!("play", "Number of calls to /play").unwrap();
|
||||
}
|
Loading…
Reference in New Issue
Block a user