Skip to main content
PUT
/
api
/
v1
/
config
/
trace-tail-sampling-rules
cURL
curl --request PUT \
  --url https://{tenant}.chronosphere.io/api/v1/config/trace-tail-sampling-rules \
  --header 'API-Token: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "create_if_missing": true,
  "dry_run": true,
  "trace_tail_sampling_rules": {
    "default_sample_rate": {
      "enabled": true,
      "sample_rate": 123
    },
    "rules": [
      {
        "created_at": "2023-11-07T05:31:56Z",
        "filter": {
          "scope_filter": {
            "span_scopes": [
              {
                "duration": {
                  "max_secs": 123,
                  "min_secs": 123
                },
                "error": {
                  "value": true
                },
                "is_root_span": {
                  "value": true
                },
                "operation": {
                  "in_values": [
                    "<string>"
                  ],
                  "value": "<string>"
                },
                "parent_operation": {
                  "in_values": [
                    "<string>"
                  ],
                  "value": "<string>"
                },
                "parent_service": {
                  "in_values": [
                    "<string>"
                  ],
                  "value": "<string>"
                },
                "service": {
                  "in_values": [
                    "<string>"
                  ],
                  "value": "<string>"
                },
                "span_count": {
                  "max": 123,
                  "min": 123
                },
                "tags": [
                  {
                    "key": "<string>",
                    "numeric_value": {
                      "value": 123
                    },
                    "value": {
                      "in_values": [
                        "<string>"
                      ],
                      "value": "<string>"
                    }
                  }
                ]
              }
            ]
          },
          "span": [
            {
              "duration": {
                "max_secs": 123,
                "min_secs": 123
              },
              "error": {
                "value": true
              },
              "is_root_span": {
                "value": true
              },
              "operation": {
                "in_values": [
                  "<string>"
                ],
                "value": "<string>"
              },
              "parent_operation": {
                "in_values": [
                  "<string>"
                ],
                "value": "<string>"
              },
              "parent_service": {
                "in_values": [
                  "<string>"
                ],
                "value": "<string>"
              },
              "service": {
                "in_values": [
                  "<string>"
                ],
                "value": "<string>"
              },
              "span_count": {
                "max": 123,
                "min": 123
              },
              "tags": [
                {
                  "key": "<string>",
                  "numeric_value": {
                    "value": 123
                  },
                  "value": {
                    "in_values": [
                      "<string>"
                    ],
                    "value": "<string>"
                  }
                }
              ]
            }
          ],
          "trace": {
            "duration": {
              "max_secs": 123,
              "min_secs": 123
            },
            "error": {
              "value": true
            }
          }
        },
        "name": "<string>",
        "sample_rate": 123,
        "system_name": "<string>",
        "updated_at": "2023-11-07T05:31:56Z"
      }
    ]
  }
}
'
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://{tenant}.chronosphere.io/api/v1/config/trace-tail-sampling-rules"

payload := strings.NewReader("{\n \"create_if_missing\": true,\n \"dry_run\": true,\n \"trace_tail_sampling_rules\": {\n \"default_sample_rate\": {\n \"enabled\": true,\n \"sample_rate\": 123\n },\n \"rules\": [\n {\n \"created_at\": \"2023-11-07T05:31:56Z\",\n \"filter\": {\n \"scope_filter\": {\n \"span_scopes\": [\n {\n \"duration\": {\n \"max_secs\": 123,\n \"min_secs\": 123\n },\n \"error\": {\n \"value\": true\n },\n \"is_root_span\": {\n \"value\": true\n },\n \"operation\": {\n \"in_values\": [\n \"<string>\"\n ],\n \"value\": \"<string>\"\n },\n \"parent_operation\": {\n \"in_values\": [\n \"<string>\"\n ],\n \"value\": \"<string>\"\n },\n \"parent_service\": {\n \"in_values\": [\n \"<string>\"\n ],\n \"value\": \"<string>\"\n },\n \"service\": {\n \"in_values\": [\n \"<string>\"\n ],\n \"value\": \"<string>\"\n },\n \"span_count\": {\n \"max\": 123,\n \"min\": 123\n },\n \"tags\": [\n {\n \"key\": \"<string>\",\n \"numeric_value\": {\n \"value\": 123\n },\n \"value\": {\n \"in_values\": [\n \"<string>\"\n ],\n \"value\": \"<string>\"\n }\n }\n ]\n }\n ]\n },\n \"span\": [\n {\n \"duration\": {\n \"max_secs\": 123,\n \"min_secs\": 123\n },\n \"error\": {\n \"value\": true\n },\n \"is_root_span\": {\n \"value\": true\n },\n \"operation\": {\n \"in_values\": [\n \"<string>\"\n ],\n \"value\": \"<string>\"\n },\n \"parent_operation\": {\n \"in_values\": [\n \"<string>\"\n ],\n \"value\": \"<string>\"\n },\n \"parent_service\": {\n \"in_values\": [\n \"<string>\"\n ],\n \"value\": \"<string>\"\n },\n \"service\": {\n \"in_values\": [\n \"<string>\"\n ],\n \"value\": \"<string>\"\n },\n \"span_count\": {\n \"max\": 123,\n \"min\": 123\n },\n \"tags\": [\n {\n \"key\": \"<string>\",\n \"numeric_value\": {\n \"value\": 123\n },\n \"value\": {\n \"in_values\": [\n \"<string>\"\n ],\n \"value\": \"<string>\"\n }\n }\n ]\n }\n ],\n \"trace\": {\n \"duration\": {\n \"max_secs\": 123,\n \"min_secs\": 123\n },\n \"error\": {\n \"value\": true\n }\n }\n },\n \"name\": \"<string>\",\n \"sample_rate\": 123,\n \"system_name\": \"<string>\",\n \"updated_at\": \"2023-11-07T05:31:56Z\"\n }\n ]\n }\n}")

req, _ := http.NewRequest("PUT", url, payload)

req.Header.Add("API-Token", "<api-key>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.put("https://{tenant}.chronosphere.io/api/v1/config/trace-tail-sampling-rules")
.header("API-Token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"create_if_missing\": true,\n \"dry_run\": true,\n \"trace_tail_sampling_rules\": {\n \"default_sample_rate\": {\n \"enabled\": true,\n \"sample_rate\": 123\n },\n \"rules\": [\n {\n \"created_at\": \"2023-11-07T05:31:56Z\",\n \"filter\": {\n \"scope_filter\": {\n \"span_scopes\": [\n {\n \"duration\": {\n \"max_secs\": 123,\n \"min_secs\": 123\n },\n \"error\": {\n \"value\": true\n },\n \"is_root_span\": {\n \"value\": true\n },\n \"operation\": {\n \"in_values\": [\n \"<string>\"\n ],\n \"value\": \"<string>\"\n },\n \"parent_operation\": {\n \"in_values\": [\n \"<string>\"\n ],\n \"value\": \"<string>\"\n },\n \"parent_service\": {\n \"in_values\": [\n \"<string>\"\n ],\n \"value\": \"<string>\"\n },\n \"service\": {\n \"in_values\": [\n \"<string>\"\n ],\n \"value\": \"<string>\"\n },\n \"span_count\": {\n \"max\": 123,\n \"min\": 123\n },\n \"tags\": [\n {\n \"key\": \"<string>\",\n \"numeric_value\": {\n \"value\": 123\n },\n \"value\": {\n \"in_values\": [\n \"<string>\"\n ],\n \"value\": \"<string>\"\n }\n }\n ]\n }\n ]\n },\n \"span\": [\n {\n \"duration\": {\n \"max_secs\": 123,\n \"min_secs\": 123\n },\n \"error\": {\n \"value\": true\n },\n \"is_root_span\": {\n \"value\": true\n },\n \"operation\": {\n \"in_values\": [\n \"<string>\"\n ],\n \"value\": \"<string>\"\n },\n \"parent_operation\": {\n \"in_values\": [\n \"<string>\"\n ],\n \"value\": \"<string>\"\n },\n \"parent_service\": {\n \"in_values\": [\n \"<string>\"\n ],\n \"value\": \"<string>\"\n },\n \"service\": {\n \"in_values\": [\n \"<string>\"\n ],\n \"value\": \"<string>\"\n },\n \"span_count\": {\n \"max\": 123,\n \"min\": 123\n },\n \"tags\": [\n {\n \"key\": \"<string>\",\n \"numeric_value\": {\n \"value\": 123\n },\n \"value\": {\n \"in_values\": [\n \"<string>\"\n ],\n \"value\": \"<string>\"\n }\n }\n ]\n }\n ],\n \"trace\": {\n \"duration\": {\n \"max_secs\": 123,\n \"min_secs\": 123\n },\n \"error\": {\n \"value\": true\n }\n }\n },\n \"name\": \"<string>\",\n \"sample_rate\": 123,\n \"system_name\": \"<string>\",\n \"updated_at\": \"2023-11-07T05:31:56Z\"\n }\n ]\n }\n}")
.asString();
const options = {
method: 'PUT',
headers: {'API-Token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
create_if_missing: true,
dry_run: true,
trace_tail_sampling_rules: {
default_sample_rate: {enabled: true, sample_rate: 123},
rules: [
{
created_at: '2023-11-07T05:31:56Z',
filter: {
scope_filter: {
span_scopes: [
{
duration: {max_secs: 123, min_secs: 123},
error: {value: true},
is_root_span: {value: true},
operation: {in_values: ['<string>'], value: '<string>'},
parent_operation: {in_values: ['<string>'], value: '<string>'},
parent_service: {in_values: ['<string>'], value: '<string>'},
service: {in_values: ['<string>'], value: '<string>'},
span_count: {max: 123, min: 123},
tags: [
{
key: '<string>',
numeric_value: {value: 123},
value: {in_values: ['<string>'], value: '<string>'}
}
]
}
]
},
span: [
{
duration: {max_secs: 123, min_secs: 123},
error: {value: true},
is_root_span: {value: true},
operation: {in_values: ['<string>'], value: '<string>'},
parent_operation: {in_values: ['<string>'], value: '<string>'},
parent_service: {in_values: ['<string>'], value: '<string>'},
service: {in_values: ['<string>'], value: '<string>'},
span_count: {max: 123, min: 123},
tags: [
{
key: '<string>',
numeric_value: {value: 123},
value: {in_values: ['<string>'], value: '<string>'}
}
]
}
],
trace: {duration: {max_secs: 123, min_secs: 123}, error: {value: true}}
},
name: '<string>',
sample_rate: 123,
system_name: '<string>',
updated_at: '2023-11-07T05:31:56Z'
}
]
}
})
};

fetch('https://{tenant}.chronosphere.io/api/v1/config/trace-tail-sampling-rules', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
import requests

url = "https://{tenant}.chronosphere.io/api/v1/config/trace-tail-sampling-rules"

payload = {
"create_if_missing": True,
"dry_run": True,
"trace_tail_sampling_rules": {
"default_sample_rate": {
"enabled": True,
"sample_rate": 123
},
"rules": [
{
"created_at": "2023-11-07T05:31:56Z",
"filter": {
"scope_filter": { "span_scopes": [
{
"duration": {
"max_secs": 123,
"min_secs": 123
},
"error": { "value": True },
"is_root_span": { "value": True },
"operation": {
"in_values": ["<string>"],
"value": "<string>"
},
"parent_operation": {
"in_values": ["<string>"],
"value": "<string>"
},
"parent_service": {
"in_values": ["<string>"],
"value": "<string>"
},
"service": {
"in_values": ["<string>"],
"value": "<string>"
},
"span_count": {
"max": 123,
"min": 123
},
"tags": [
{
"key": "<string>",
"numeric_value": { "value": 123 },
"value": {
"in_values": ["<string>"],
"value": "<string>"
}
}
]
}
] },
"span": [
{
"duration": {
"max_secs": 123,
"min_secs": 123
},
"error": { "value": True },
"is_root_span": { "value": True },
"operation": {
"in_values": ["<string>"],
"value": "<string>"
},
"parent_operation": {
"in_values": ["<string>"],
"value": "<string>"
},
"parent_service": {
"in_values": ["<string>"],
"value": "<string>"
},
"service": {
"in_values": ["<string>"],
"value": "<string>"
},
"span_count": {
"max": 123,
"min": 123
},
"tags": [
{
"key": "<string>",
"numeric_value": { "value": 123 },
"value": {
"in_values": ["<string>"],
"value": "<string>"
}
}
]
}
],
"trace": {
"duration": {
"max_secs": 123,
"min_secs": 123
},
"error": { "value": True }
}
},
"name": "<string>",
"sample_rate": 123,
"system_name": "<string>",
"updated_at": "2023-11-07T05:31:56Z"
}
]
}
}
headers = {
"API-Token": "<api-key>",
"Content-Type": "application/json"
}

response = requests.put(url, json=payload, headers=headers)

print(response.text)
{
  "trace_tail_sampling_rules": {
    "created_at": "2023-11-07T05:31:56Z",
    "default_sample_rate": {
      "enabled": true,
      "sample_rate": 123
    },
    "rules": [
      {
        "created_at": "2023-11-07T05:31:56Z",
        "filter": {
          "scope_filter": {
            "span_scopes": [
              {
                "duration": {
                  "max_secs": 123,
                  "min_secs": 123
                },
                "error": {
                  "value": true
                },
                "is_root_span": {
                  "value": true
                },
                "operation": {
                  "in_values": [
                    "<string>"
                  ],
                  "value": "<string>"
                },
                "parent_operation": {
                  "in_values": [
                    "<string>"
                  ],
                  "value": "<string>"
                },
                "parent_service": {
                  "in_values": [
                    "<string>"
                  ],
                  "value": "<string>"
                },
                "service": {
                  "in_values": [
                    "<string>"
                  ],
                  "value": "<string>"
                },
                "span_count": {
                  "max": 123,
                  "min": 123
                },
                "tags": [
                  {
                    "key": "<string>",
                    "numeric_value": {
                      "value": 123
                    },
                    "value": {
                      "in_values": [
                        "<string>"
                      ],
                      "value": "<string>"
                    }
                  }
                ]
              }
            ]
          },
          "span": [
            {
              "duration": {
                "max_secs": 123,
                "min_secs": 123
              },
              "error": {
                "value": true
              },
              "is_root_span": {
                "value": true
              },
              "operation": {
                "in_values": [
                  "<string>"
                ],
                "value": "<string>"
              },
              "parent_operation": {
                "in_values": [
                  "<string>"
                ],
                "value": "<string>"
              },
              "parent_service": {
                "in_values": [
                  "<string>"
                ],
                "value": "<string>"
              },
              "service": {
                "in_values": [
                  "<string>"
                ],
                "value": "<string>"
              },
              "span_count": {
                "max": 123,
                "min": 123
              },
              "tags": [
                {
                  "key": "<string>",
                  "numeric_value": {
                    "value": 123
                  },
                  "value": {
                    "in_values": [
                      "<string>"
                    ],
                    "value": "<string>"
                  }
                }
              ]
            }
          ],
          "trace": {
            "duration": {
              "max_secs": 123,
              "min_secs": 123
            },
            "error": {
              "value": true
            }
          }
        },
        "name": "<string>",
        "sample_rate": 123,
        "system_name": "<string>",
        "updated_at": "2023-11-07T05:31:56Z"
      }
    ],
    "updated_at": "2023-11-07T05:31:56Z"
  }
}
{
"message": "<string>"
}
{
"message": "<string>"
}
{
"message": "<string>"
}
{}

Authorizations

API-Token
string
header
required

Chronosphere API token

Body

application/json
create_if_missing
boolean

If true, the TraceTailSamplingRules will be created if it does not already exist. If false, an error will be returned if the TraceTailSamplingRules does not already exist.

dry_run
boolean

If true, validates the specified configuration without creating or updating the TraceTailSamplingRules. If the specified configuration is valid, the endpoint returns a partial response without the TraceTailSamplingRules. If the specified configuration is invalid, the endpoint returns an error.

trace_tail_sampling_rules
object

The TraceTailSamplingRules to update.

Response

A successful response containing the updated TraceTailSamplingRules.

trace_tail_sampling_rules
object

Root object containing all tail sampling rules (for a tenant).