mirror of
https://github.com/XRPLF/rippled.git
synced 2026-09-27 15:28:03 +00:00
refactor(telemetry): name the traces endpoint for its signal
[telemetry] endpoint carried one OTLP signal while its name implied it covered every signal. That asymmetry is what let the metrics URL be guessed later by rewriting this one's path suffix, so anything not ending /v1/traces silently posted metrics to the traces path. Renames the key to traces_endpoint and Setup::exporterEndpoint to tracesEndpoint. The default value is unchanged and the URL is still used verbatim, with no path derived from it. The startup log line and the compose-file example name the new key, the latter being where an operator copies it from. No metrics_endpoint is added here: this branch has no metrics pipeline, so the key would parse into a member nothing reads.
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
# Configure xrpld to export traces by adding to xrpld.cfg:
|
||||
# [telemetry]
|
||||
# enabled=1
|
||||
# endpoint=http://localhost:4318/v1/traces
|
||||
# traces_endpoint=http://localhost:4318/v1/traces
|
||||
|
||||
services:
|
||||
# OpenTelemetry Collector: receives spans from xrpld via OTLP protocol,
|
||||
|
||||
@@ -168,9 +168,10 @@ public:
|
||||
std::string serviceInstanceId;
|
||||
|
||||
/**
|
||||
* OTLP/HTTP endpoint URL where spans are sent.
|
||||
* Full OTLP/HTTP URL where spans are sent, including the signal path.
|
||||
* Used verbatim: no other endpoint is derived from it.
|
||||
*/
|
||||
std::string exporterEndpoint = "http://localhost:4318/v1/traces";
|
||||
std::string tracesEndpoint = "http://localhost:4318/v1/traces";
|
||||
|
||||
/**
|
||||
* Whether to use TLS for the exporter connection.
|
||||
|
||||
@@ -286,12 +286,12 @@ public:
|
||||
void
|
||||
start() override
|
||||
{
|
||||
JLOG(journal_.info()) << "Telemetry starting: endpoint=" << setup_.exporterEndpoint
|
||||
JLOG(journal_.info()) << "Telemetry starting: traces_endpoint=" << setup_.tracesEndpoint
|
||||
<< " sampling=" << setup_.samplingRatio;
|
||||
|
||||
// Configure OTLP HTTP exporter
|
||||
otlp_http::OtlpHttpExporterOptions exporterOpts;
|
||||
exporterOpts.url = setup_.exporterEndpoint;
|
||||
exporterOpts.url = setup_.tracesEndpoint;
|
||||
if (setup_.useTls)
|
||||
{
|
||||
exporterOpts.ssl_ca_cert_path = setup_.tlsCertPath;
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace key {
|
||||
constexpr char const* enabled = "enabled";
|
||||
constexpr char const* serviceName = "service_name";
|
||||
constexpr char const* serviceInstanceId = "service_instance_id";
|
||||
constexpr char const* endpoint = "endpoint";
|
||||
constexpr char const* tracesEndpoint = "traces_endpoint";
|
||||
constexpr char const* useTls = "use_tls";
|
||||
constexpr char const* tlsCaCert = "tls_ca_cert";
|
||||
constexpr char const* batchSize = "batch_size";
|
||||
@@ -54,7 +54,7 @@ constexpr char const* traceLedger = "trace_ledger";
|
||||
*/
|
||||
namespace dflt {
|
||||
constexpr char const* serviceName = "xrpld";
|
||||
constexpr char const* endpoint = "http://localhost:4318/v1/traces";
|
||||
constexpr char const* tracesEndpoint = "http://localhost:4318/v1/traces";
|
||||
constexpr std::uint32_t batchSize = 512u;
|
||||
constexpr std::uint32_t batchDelayMs = 5000u;
|
||||
constexpr std::uint32_t maxQueueSize = 2048u;
|
||||
@@ -97,7 +97,7 @@ makeTelemetrySetup(
|
||||
setup.serviceVersion = version;
|
||||
setup.serviceInstanceId = section.valueOr<std::string>(key::serviceInstanceId, nodePublicKey);
|
||||
|
||||
setup.exporterEndpoint = section.valueOr<std::string>(key::endpoint, dflt::endpoint);
|
||||
setup.tracesEndpoint = section.valueOr<std::string>(key::tracesEndpoint, dflt::tracesEndpoint);
|
||||
|
||||
setup.useTls = section.valueOr<int>(key::useTls, 0) != 0;
|
||||
setup.tlsCertPath = section.valueOr<std::string>(key::tlsCaCert, "");
|
||||
|
||||
Reference in New Issue
Block a user