Add WebRTC Internals Exporter extension with initial files and functionality

This commit is contained in:
2025-01-25 14:33:58 +01:00
parent 5bb7cb4aab
commit c2f9206624
26 changed files with 911 additions and 294 deletions

View File

@@ -1,60 +1,78 @@
[[processors.dedup]]
dedup_interval = "600s"
[[outputs.file]]
files = ["stdout"]
# [[outputs.mongodb]]
# dsn = "mongodb://192.168.86.40:27017"
# database = "peertube"
# granularity = "seconds"
# authentication = "SCRAM"
# username = "root"
# password = "example"
[[inputs.socket_listener]]
service_address = "udp://:8094"
data_format = "xpath_json"
[[inputs.socket_listener.xpath]]
metric_name = "'stats'"
metric_name = "'statistics'"
metric_selection = "/*"
timestamp = "timestamp"
timestamp_format = "unix"
[inputs.socket_listener.xpath.tags]
url = "url"
#id = "''"
#state = "'connected'"
[inputs.socket_listener.xpath.fields]
P2P = "/P2P"
#Buffer_State = "string-join(/Buffer_State/*, ',')"
Buffer_State = "/text()='Buffer State'"
Resolution = "/Resolution"
player = "player"
#peerValues = "concat('[', string-join(peers/*, ','), ']')"
peers = "peers"
# [[inputs.socket_listener]]
# service_address = "udp://:8094"
# data_format = "json_v2"
# [[inputs.socket_listener.json_v2]]
# measurement_name = "stats"
#[[inputs.http_listener_v2]]
# service_address = ":9091"
# paths = ["/webrtc-internals-exporter"]
# data_format = "json_v2"
# methods = ["POST"]
# http_success_code = 204
#
# [[inputs.http_listener_v2.json_v2]]
# measurement_name = "stats"
# timestamp_path = "@this.0.values.0.timestamp"
# timestamp_format = "unix_ms"
#
# [[inputs.http_listener_v2.json_v2.object]]
# path = "@this"
# tags = ["id", "url", "state"]
# [[inputs.socket_listener.json_v2.field]]
# path = "P2P"
# [[inputs.socket_listener.json_v2.field]]
# path = "Player mode"
# [[inputs.socket_listener.json_v2.field]]
# path = "P2P"
# [[inputs.socket_listener.json_v2.field]]
# path = "Video UUID"
# [[inputs.socket_listener.json_v2.field]]
# path = "Viewport / Frames"
# [[inputs.socket_listener.json_v2.field]]
# path = "Resolution"
# [[inputs.socket_listener.json_v2.field]]
# path = "Volume"
# [[inputs.socket_listener.json_v2.field]]
# path = "Codecs"
# [[inputs.socket_listener.json_v2.field]]
# path = "Connection Speed"
# [[inputs.socket_listener.json_v2.field]]
# path = "Network Activity"
# [[inputs.socket_listener.json_v2.field]]
# path = "Total Transfered"
# [[inputs.socket_listener.json_v2.field]]
# path = "Download Breakdown"
# [[inputs.socket_listener.json_v2.field]]
# path = "Buffer State"
# [[inputs.socket_listener.json_v2.field]]
# path = "Live Latency"
[[inputs.http_listener_v2]]
service_address = ":9091"
paths = ["/webrtc-internals-exporter"]
methods = ["POST"]
http_success_code = 204
data_format = "xpath_json"
[[inputs.http_listener_v2.xpath]]
metric_name = "'statistics'"
metric_selection = "/*"
field_selection = "values/*"
field_name = "type"
field_value = "."
timestamp = "/*/values[last()]/*/timestamp"
timestamp_format = "unix_ms"
[inputs.http_listener_v2.xpath.tags]
url = "url"
state = "state"
id = "''"
[inputs.http_listener_v2.xpath.fields]
#values = "values/*"
peerConnectionId = "id"
peerValues = "concat('[', string-join(values/*, ','), ']')"
[[outputs.file]]
files = ["stdout"]
data_format = "json"
[[outputs.mongodb]]
dsn = "mongodb://192.168.68.204:27017"
database = "peertube"
granularity = "seconds"
#authentication = "SCRAM"
#username = "root"
#password = "example"