MCPcopy Create free account
hub / github.com/apache/datafusion / request_summary

Function request_summary

datafusion-cli/src/object_storage/instrumented.rs:1233–1319  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1231
1232 #[test]
1233 fn request_summary() {
1234 // Test empty request list
1235 let mut requests = Vec::new();
1236 assert_snapshot!(RequestSummaries::new(&requests), @r"
1237 +-----------+--------+-----+-----+-----+-----+-------+
1238 | Operation | Metric | min | max | avg | sum | count |
1239 +-----------+--------+-----+-----+-----+-----+-------+
1240 +-----------+--------+-----+-----+-----+-----+-------+
1241 ");
1242
1243 requests.push(RequestDetails {
1244 op: Operation::Get,
1245 path: Path::from("test1"),
1246 timestamp: chrono::DateTime::from_timestamp(0, 0).unwrap(),
1247 duration_nanos: Arc::new(AtomicU64::new(
1248 Duration::from_secs(5).as_nanos() as u64
1249 )),
1250 size: Some(100),
1251 range: None,
1252 extra_display: None,
1253 });
1254
1255 assert_snapshot!(RequestSummaries::new(&requests), @r"
1256 +-----------+----------+-----------+-----------+-----------+-----------+-------+
1257 | Operation | Metric | min | max | avg | sum | count |
1258 +-----------+----------+-----------+-----------+-----------+-----------+-------+
1259 | Get | duration | 5.000000s | 5.000000s | 5.000000s | 5.000000s | 1 |
1260 | Get | size | 100 B | 100 B | 100 B | 100 B | 1 |
1261 +-----------+----------+-----------+-----------+-----------+-----------+-------+
1262 ");
1263
1264 // Add more Get requests to test aggregation
1265 requests.push(RequestDetails {
1266 op: Operation::Get,
1267 path: Path::from("test2"),
1268 timestamp: chrono::DateTime::from_timestamp(1, 0).unwrap(),
1269 duration_nanos: Arc::new(AtomicU64::new(
1270 Duration::from_secs(8).as_nanos() as u64
1271 )),
1272 size: Some(150),
1273 range: None,
1274 extra_display: None,
1275 });
1276 requests.push(RequestDetails {
1277 op: Operation::Get,
1278 path: Path::from("test3"),
1279 timestamp: chrono::DateTime::from_timestamp(2, 0).unwrap(),
1280 duration_nanos: Arc::new(AtomicU64::new(
1281 Duration::from_secs(2).as_nanos() as u64
1282 )),
1283 size: Some(50),
1284 range: None,
1285 extra_display: None,
1286 });
1287 assert_snapshot!(RequestSummaries::new(&requests), @r"
1288 +-----------+----------+-----------+-----------+-----------+------------+-------+
1289 | Operation | Metric | min | max | avg | sum | count |
1290 +-----------+----------+-----------+-----------+-----------+------------+-------+

Callers

nothing calls this directly

Calls 2

newFunction · 0.85
pushMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…