-module(dp_decoder). -export([recombine_tags/1, to_number/1, protocol/1, parse/2]). -export_type([metric/0, protocol/0]). -type metric() :: #{ metric => [binary()], key => [binary()], tags => [{binary(), binary(), binary()}], time => pos_integer(), value => integer() }. -type protocol() :: dp_line_proto. -callback parse(In::binary()) -> {ok, [dp_decoder:metric()]} | {error, term()} | undefined. -callback protocol() -> dp_decoder:protocol(). recombine_tags(Tags) -> [<