s平面の左側

左側なので安定してます(制御工学の話は出てきません)

pprotein の内部 Web API(GET のみ)

ただの自分用メモ

github.com

GET /api/httplog

[
  {
    "Snapshot": {
      "Type": "httplog",
      "ID": "dcxj4tr4gwpg-httplog.log",
      "Datetime": "2025-09-20T09:45:09.1119661Z",
      "Repository": {
        "Ref": "...",
        "Hash": "...",
        "Author": "...",
        "Message": "...",
        "Remote": "..."
      },
      "GroupId": "2025-09-20_09-45-09.111339",
      "Label": "localhost",
      "URL": "http://mock/debug/log/httplog",
      "Duration": 10
    },
    "Status": "ok",
    "Message": "Ready"
  }
]

GET /api/httplog/{id}

Count    1xx 2xx 3xx 4xx 5xx Method  Uri Min Max Sum Avg P90 P95 P99 Stddev  Min(Body)   Max(Body)   Sum(Body)   Avg(Body)
18  0   0   0   0   18  GET ^/api/mock/.+[0-9]$ 0.037   1.554   13.356  0.742   1.356   1.554   1.554   0.432   72.000  72.000  1296.000    72.000
26  0   0   0   0   26  GET ^/api/mock/.+[a-z]$ 0.050   1.980   23.882  0.919   1.897   1.947   1.980   0.561   72.000  72.000  1872.000    72.000

GET /api/httplog/data/{id}

HTTPログの生データ

time:20/Sep/2025:09:45:09 +0000  host:127.0.0.1  forwardedfor:-  req:GET /api/mock/dcxj4t5uyf6m HTTP/1.1 method:GET  uri:/api/mock/dcxj4t5uyf6m  status:500  size:72 referer:-   ua:Go-http-client/1.1   reqtime:1.344   runtime:-   apptime:1.344   cache:- vhost:127.0.0.1
time:20/Sep/2025:09:45:09 +0000 host:127.0.0.1  forwardedfor:-  req:GET /api/mock/dcxj4tn8fqr8 HTTP/1.1 method:GET  uri:/api/mock/dcxj4tn8fqr8  status:500  size:72 referer:-   ua:Go-http-client/1.1   reqtime:0.336   runtime:-   apptime:0.336   cache:- vhost:127.0.0.1
time:20/Sep/2025:09:45:09 +0000 host:127.0.0.1  forwardedfor:-  req:GET /api/mock/dcxj4tqo313a HTTP/1.1 method:GET  uri:/api/mock/dcxj4tqo313a  status:500  size:72 referer:-   ua:Go-http-client/1.1   reqtime:0.364   runtime:-   apptime:0.364   cache:- vhost:127.0.0.1
time:20/Sep/2025:09:45:09 +0000 host:127.0.0.1  forwardedfor:-  req:GET /api/mock/dcxj4tojekfi HTTP/1.1 method:GET  uri:/api/mock/dcxj4tojekfi  status:500  size:72 referer:-   ua:Go-http-client/1.1   reqtime:0.656   runtime:-   apptime:0.656   cache:- vhost:127.0.0.1
time:20/Sep/2025:09:45:09 +0000 host:127.0.0.1  forwardedfor:-  req:GET /api/mock/dcxj4tzjg07w HTTP/1.1 method:GET  uri:/api/mock/dcxj4tzjg07w  status:500  size:72 referer:-   ua:Go-http-client/1.1   reqtime:0.050   runtime:-   apptime:0.050   cache:- vhost:127.0.0.1
:

GET /api/httplog/data/latest

GET /api/httplog/data/{id} の最新のもの

GET /api/slowlog

[
  {
    "Snapshot": {
      "Type": "slowlog",
      "ID": "dcxj4tr4eqa5-slowlog.log",
      "Datetime": "2025-09-20T09:45:09.111864461Z",
      "Repository": {
        "Ref": "...",
        "Hash": "...",
        "Author": "...",
        "Message": "...",
        "Remote": "..."
      },
      "GroupId": "2025-09-20_09-45-09.111339",
      "Label": "localhost",
      "URL": "http://mock/debug/log/slowlog",
      "Duration": 10
    },
    "Status": "ok",
    "Message": "Ready"
  }
]

GET /api/slowlog/{id}

Count    Query   Min(QueryTime)  Max(QueryTime)  Sum(QueryTime)  Avg(QueryTime)  Min(LockTime)   Max(LockTime)   Sum(LockTime)   Avg(LockTime)   Min(RowsSent)   Max(RowsSent)   Sum(RowsSent)   Avg(RowsSent)   Min(RowsExamined)   Max(RowsExamined)   Sum(RowsExamined)   Avg(RowsExamined)
44  INSERT INTO `mock`.`mock` VALUES ('S',NOW())    0.001751    0.005632    0.151581    0.003445    0.000027    0.000194    0.002678    0.000061    0   0   0   0.000000    0   0   0   0.000000
44  SELECT * FROM `mock`.`mock` WHERE `id` = 'S'    0.000073    0.000599    0.009888    0.000225    0.000011    0.000241    0.002315    0.000053    1   1   44  1.000000    1   1   44  1.000000

GET /api/slowlog/data/{id}

slowlog の生データ

# Time: 250920  9:45:09
# User@Host: root[root] @ localhost []
# Thread_id: 3  Schema:   QC_hit: No
# Query_time: 0.004002  Lock_time: 0.000091  Rows_sent: 0  Rows_examined: 0
# Rows_affected: 1  Bytes_sent: 0
SET timestamp=1758361509;
INSERT INTO mock.mock VALUES ('dcxj4t5uyf6m', NOW());
# User@Host: root[root] @ localhost []
# Thread_id: 3  Schema:   QC_hit: No
# Query_time: 0.000140  Lock_time: 0.000022  Rows_sent: 1  Rows_examined: 1
# Rows_affected: 0  Bytes_sent: 0
SET timestamp=1758361509;
SELECT * FROM mock.mock WHERE id = 'dcxj4t5uyf6m';
:

GET /api/slowlog/data/latest

GET /api/slowlog/data/{id} の最新のもの

GET /api/pprof

[
  {
    "Snapshot": {
      "Type": "pprof",
      "ID": "dcxj4tr4mlh4-pprof.pb.gz",
      "Datetime": "2025-09-20T09:45:09.11223148Z",
      "Repository": {
        "Ref": "...",
        "Hash": "...",
        "Author": "...",
        "Message": "...",
        "Remote": "..."
      },
      "GroupId": "2025-09-20_09-45-09.111339",
      "Label": "localhost",
      "URL": "http://mock/debug/pprof/profile",
      "Duration": 10
    },
    "Status": "ok",
    "Message": "Ready"
  }
]

GET /api/pprof/data/{id}

pprof の出力(protobuf 形式)を gzip 圧縮したもの

GET /api/pprof/data/latest

GET /api/pprof/data/{id} の最新のもの

GET /api/memo

[
  {
    "Snapshot": {
      "Type": "memo",
      "ID": "dcxjllzzvn7x-memo.log",
      "Datetime": "2025-09-20T10:07:04.424982093Z",
      "Repository": null,
      "GroupId": "2025-09-20_09-45-09.111339",
      "Label": "mock memo label",
      "URL": "",
      "Duration": 0
    },
    "Status": "ok",
    "Message": "mock memo text"
  }
]

GET /api/memo/{id}

{"Text":"mock memo text"}