#header #timer #add #parse-headers

simple-server-timing-header

A simple Server-Timing header crate. No dependencies.

2 releases

0.1.1 Feb 20, 2023
0.1.0 Feb 13, 2023

#1122 in HTTP server

Download history 7578/week @ 2024-12-09 6693/week @ 2024-12-16 2951/week @ 2024-12-23 3642/week @ 2024-12-30 8297/week @ 2025-01-06 7969/week @ 2025-01-13 7984/week @ 2025-01-20 8966/week @ 2025-01-27 10723/week @ 2025-02-03 11124/week @ 2025-02-10 9446/week @ 2025-02-17 9358/week @ 2025-02-24 8695/week @ 2025-03-03 8889/week @ 2025-03-10 8572/week @ 2025-03-17 9268/week @ 2025-03-24

35,722 downloads per month
Used in atomic-server

MIT license

72KB
59 lines

simple-server-timing-header

crates.io Documentation

Lightweight zero-dependency Rust crate that adds a Server-Timing header to the response of a request.


use simple_server_timing_header::Timer;

fn handle_request() {
    let mut timer = Timer::new();
    // ... do some stuff
    timer.add("parse_headers");
    // ... do some more stuff
    timer.add("get_db_data");
    // Sets the `Server-Timing: parse_headers;dur=0.1, get_db_data;dur=0.2` header
    add_header(timer.header_key(), timer.header_value());
}

Example of server-timing in Chrome dev tools


lib.rs:

Monitor back-end performance using Server-Timing the HTTP header.

use simple_server_timing_header::Timer;

fn handle_request() {
let mut timer = Timer::new();
// ... do some stuff
timer.add("parse_headers");
// ... do some more stuff
timer.add("get_db_data");
// Generate the header value
assert_eq!(timer.header_value(), "parse_headers;dur=0, get_db_data;dur=0");
}

No runtime deps