# Why not just use go-server-timing?

Because it will not merge metrics with same `name` and `desc` (Defined by <https://w3c.github.io/server-timing/#the-server-timing-header-field>).
But we need to merge metrics to prevent HTTP header too long.

## Before

```header
server-timing: tcms;dur=141.19616,tcms-db;desc="plan-exec: get items";dur=7.779846,tcms-db;desc="plan-exec: get total";dur=2.207689,tcms-db;desc="case-exec: get items";dur=5.094505,tcms-db;desc="case-exec: get total";dur=1.729694,tcms-db;desc="case-exec: get items";dur=4.266187,tcms-db;desc="case-exec: get total";dur=1.494991,tcms-db;desc="case-exec: get items";dur=3.766965,tcms-db;desc="case-exec: get total";dur=1.554077,tcms-db;desc="case-exec: get items";dur=3.770585,tcms-db;desc="case-exec: get total";dur=1.771608,tcms-db;desc="case-exec: get items";dur=3.870688,tcms-db;desc="case-exec: get total";dur=1.893877,tcms-db;desc="case-exec: get items";dur=3.821319,tcms-db;desc="case-exec: get total";dur=1.736418,tcms-db;desc="case-exec: get items";dur=3.965063,tcms-db;desc="case-exec: get total";dur=1.723855,tcms-db;desc="case-exec: get items";dur=3.859266,tcms-db;desc="case-exec: get total";dur=1.615677,tcms-db;desc="case-exec: get items";dur=3.715517,tcms-db;desc="case-exec: get total";dur=1.620578,tcms-db;desc="case-exec: get items";dur=4.191397,tcms-db;desc="case-exec: get total";dur=1.537664,tcms-db;desc="case-exec: get items";dur=3.897221,tcms-db;desc="case-exec: get total";dur=1.546574,tcms-db;desc="case-exec: get items";dur=4.493711,tcms-db;
...
```

## After

```header
server-timing: tcms;dur=141.19616,db;desc="plan-exec:list x6";dur=7.779;max=7.779;db;desc="case-exec:list x10";dur=4.493;max=4.493
```
