def test_combined_size_no_labels(): app = create_app() Instrumentator().add( metrics.combined_size( should_include_handler=False, should_include_method=False, should_include_status=False, )).instrument(app) client = TestClient(app) client.get("/") assert REGISTRY.get_sample_value("http_combined_size_bytes_sum", {}) == 14
def test_combined_size_with_runtime_error(): app = create_app() Instrumentator().add(metrics.combined_size()).instrument(app).expose(app) client = TestClient(app) try: get_response(client, "/runtime_error") except RuntimeError: pass response = get_response(client, "/metrics") assert ( b'http_combined_size_bytes_count{handler="/runtime_error",method="GET",status="5xx"} 1.0' in response.content)
def test_combined_size_all_labels_with_data(): app = create_app() Instrumentator().add(metrics.combined_size()).instrument(app).expose(app) client = TestClient(app) client.get("/", data="fegfgeegeg") _ = get_response(client, "/metrics") assert (REGISTRY.get_sample_value( "http_combined_size_bytes_sum", { "handler": "/", "method": "GET", "status": "2xx" }, ) == 24)