OpenTelemetryのスパン命名規則
以下の記事を読んだ。属性名ではなくスパン名であることに注意が必要。
これによると、スパン名は以下の形式を
{verb} {object}verb は動詞なので send や get 等が該当する。基本的には小文字が使われているらしい。object は目的語なので request や payment 等が該当する。verb や object にスペースを含む場合はアンダースコアで区切る。なので
- send request
- save metrics
は良い名前だが、
- send_payment
- savemetrics#1234
これらは良くない名前ということになる。
ここで #1234 のような詳細なIDを含めない理由は、カーディナリティを低く抑えられるためにそうなっている。代わりに、こういったIDの類は属性として与えられるべきである。
また、スペース区切りや小文字が使われている理由は、
GET /resource/path
INSERT into users values (...)これらもスペース区切りだと書かれているけど理屈としてはだいぶ厳しいと思う。