Compare commits

...

7 Commits

Author SHA1 Message Date
Prashant Shahi
bb2a60565b Merge branch 'main' into chore/sync-develop 2024-12-18 18:59:20 +05:30
Prashant Shahi
73fc5e45e5 Merge branch 'develop' into chore/sync-develop 2024-12-18 17:53:50 +05:30
Prashant Shahi
799c33ff82 Merge branch 'main' into chore/sync-develop 2024-12-18 17:46:44 +05:30
Shivanshu Raj Shrivastava
83f6dea2db Add support for trace_v3 schema in messaging queues (#6663)
feat: support trace v3 queries
2024-12-18 17:04:01 +05:30
Prashant Shahi
e1b8205a16 Merge branch 'develop' into chore/sync-develop 2024-12-13 18:36:01 +05:30
Prashant Shahi
e21b9a561d chore: deprecate develop branch - use main
Signed-off-by: Prashant Shahi <prashant@signoz.io>
2024-12-13 18:08:36 +05:30
Prashant Shahi
c4858ec829 Merge branch 'main' into chore/sync-develop 2024-12-13 17:46:01 +05:30
16 changed files with 108 additions and 115 deletions

View File

@@ -3,7 +3,6 @@ name: build-pipeline
on: on:
pull_request: pull_request:
branches: branches:
- develop
- main - main
- release/v* - release/v*

View File

@@ -3,7 +3,7 @@ name: "Update PR labels and Block PR until related docs are shipped for the feat
on: on:
pull_request: pull_request:
branches: branches:
- develop - main
types: [opened, edited, labeled, unlabeled] types: [opened, edited, labeled, unlabeled]
permissions: permissions:

View File

@@ -42,7 +42,7 @@ jobs:
kubectl create ns sample-application kubectl create ns sample-application
# apply hotrod k8s manifest file # apply hotrod k8s manifest file
kubectl -n sample-application apply -f https://raw.githubusercontent.com/SigNoz/signoz/develop/sample-apps/hotrod/hotrod.yaml kubectl -n sample-application apply -f https://raw.githubusercontent.com/SigNoz/signoz/main/sample-apps/hotrod/hotrod.yaml
# wait for all deployments in sample-application namespace to be READY # wait for all deployments in sample-application namespace to be READY
kubectl -n sample-application get deploy --output name | xargs -r -n1 -t kubectl -n sample-application rollout status --timeout=300s kubectl -n sample-application get deploy --output name | xargs -r -n1 -t kubectl -n sample-application rollout status --timeout=300s

View File

@@ -2,7 +2,8 @@ name: Jest Coverage - changed files
on: on:
pull_request: pull_request:
branches: develop branches:
- main
jobs: jobs:
build: build:
@@ -11,7 +12,7 @@ jobs:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
ref: "refs/heads/develop" ref: "refs/heads/main"
token: ${{ secrets.GITHUB_TOKEN }} # Provide the GitHub token for authentication token: ${{ secrets.GITHUB_TOKEN }} # Provide the GitHub token for authentication
- name: Fetch branch - name: Fetch branch

View File

@@ -4,7 +4,6 @@ on:
push: push:
branches: branches:
- main - main
- develop
tags: tags:
- v* - v*

View File

@@ -3,7 +3,6 @@ on:
pull_request: pull_request:
branches: branches:
- main - main
- develop
paths: paths:
- 'frontend/**' - 'frontend/**'
defaults: defaults:

View File

@@ -1,12 +1,12 @@
name: staging-deployment name: staging-deployment
# Trigger deployment only on push to develop branch # Trigger deployment only on push to main branch
on: on:
push: push:
branches: branches:
- develop - main
jobs: jobs:
deploy: deploy:
name: Deploy latest develop branch to staging name: Deploy latest main branch to staging
runs-on: ubuntu-latest runs-on: ubuntu-latest
environment: staging environment: staging
permissions: permissions:

View File

@@ -44,7 +44,7 @@ jobs:
git add . git add .
git stash push -m "stashed on $(date --iso-8601=seconds)" git stash push -m "stashed on $(date --iso-8601=seconds)"
git fetch origin git fetch origin
git checkout develop git checkout main
git pull git pull
# This is added to include the scenerio when new commit in PR is force-pushed # This is added to include the scenerio when new commit in PR is force-pushed
git branch -D ${GITHUB_BRANCH} git branch -D ${GITHUB_BRANCH}

View File

@@ -339,7 +339,7 @@ to make SigNoz UI available at [localhost:3301](http://localhost:3301)
**5.1.1 To install the HotROD sample app:** **5.1.1 To install the HotROD sample app:**
```bash ```bash
curl -sL https://github.com/SigNoz/signoz/raw/develop/sample-apps/hotrod/hotrod-install.sh \ curl -sL https://github.com/SigNoz/signoz/raw/main/sample-apps/hotrod/hotrod-install.sh \
| HELM_RELEASE=my-release SIGNOZ_NAMESPACE=platform bash | HELM_RELEASE=my-release SIGNOZ_NAMESPACE=platform bash
``` ```
@@ -362,7 +362,7 @@ kubectl -n sample-application run strzal --image=djbingham/curl \
**5.1.4 To delete the HotROD sample app:** **5.1.4 To delete the HotROD sample app:**
```bash ```bash
curl -sL https://github.com/SigNoz/signoz/raw/develop/sample-apps/hotrod/hotrod-delete.sh \ curl -sL https://github.com/SigNoz/signoz/raw/main/sample-apps/hotrod/hotrod-delete.sh \
| HOTROD_NAMESPACE=sample-application bash | HOTROD_NAMESPACE=sample-application bash
``` ```

View File

@@ -58,7 +58,7 @@ from the HotROD application, you should see the data generated from hotrod in Si
```sh ```sh
kubectl create ns sample-application kubectl create ns sample-application
kubectl -n sample-application apply -f https://raw.githubusercontent.com/SigNoz/signoz/develop/sample-apps/hotrod/hotrod.yaml kubectl -n sample-application apply -f https://raw.githubusercontent.com/SigNoz/signoz/main/sample-apps/hotrod/hotrod.yaml
``` ```
To generate load: To generate load:

View File

@@ -13,8 +13,3 @@ if [ "$branch" = "main" ]; then
echo "${color_red}${bold}You can't commit directly to the main branch${reset}" echo "${color_red}${bold}You can't commit directly to the main branch${reset}"
exit 1 exit 1
fi fi
if [ "$branch" = "develop" ]; then
echo "${color_red}${bold}You can't commit directly to the develop branch${reset}"
exit 1
fi

View File

@@ -9,25 +9,25 @@ func generateConsumerSQL(start, end int64, topic, partition, consumerGroup, queu
query := fmt.Sprintf(` query := fmt.Sprintf(`
WITH consumer_query AS ( WITH consumer_query AS (
SELECT SELECT
serviceName, resource_string_service$$name,
quantile(0.99)(durationNano) / 1000000 AS p99, quantile(0.99)(durationNano) / 1000000 AS p99,
COUNT(*) AS total_requests, COUNT(*) AS total_requests,
sumIf(1, statusCode = 2) AS error_count, sumIf(1, status_code = 2) AS error_count,
avg(CASE WHEN has(numberTagMap, 'messaging.message.body.size') THEN numberTagMap['messaging.message.body.size'] ELSE NULL END) AS avg_msg_size avg(CASE WHEN has(attributes_number, 'messaging.message.body.size') THEN attributes_number['messaging.message.body.size'] ELSE NULL END) AS avg_msg_size
FROM signoz_traces.distributed_signoz_index_v2 FROM signoz_traces.distributed_signoz_index_v3
WHERE WHERE
timestamp >= '%d' timestamp >= '%d'
AND timestamp <= '%d' AND timestamp <= '%d'
AND kind = 5 AND kind = 5
AND msgSystem = '%s' AND attribute_string_messaging$$system = '%s'
AND stringTagMap['messaging.destination.name'] = '%s' AND attributes_string['messaging.destination.name'] = '%s'
AND stringTagMap['messaging.destination.partition.id'] = '%s' AND attributes_string['messaging.destination.partition.id'] = '%s'
AND stringTagMap['messaging.kafka.consumer.group'] = '%s' AND attributes_string['messaging.kafka.consumer.group'] = '%s'
GROUP BY serviceName GROUP BY resource_string_service$$name
) )
SELECT SELECT
serviceName AS service_name, resource_string_service$$name AS service_name,
p99, p99,
COALESCE((error_count * 100.0) / total_requests, 0) AS error_rate, COALESCE((error_count * 100.0) / total_requests, 0) AS error_rate,
COALESCE(total_requests / %d, 0) AS throughput, COALESCE(total_requests / %d, 0) AS throughput,
@@ -35,7 +35,7 @@ SELECT
FROM FROM
consumer_query consumer_query
ORDER BY ORDER BY
serviceName; resource_string_service$$name;
`, start, end, queueType, topic, partition, consumerGroup, timeRange) `, start, end, queueType, topic, partition, consumerGroup, timeRange)
return query return query
} }
@@ -48,14 +48,14 @@ WITH partition_query AS (
SELECT SELECT
quantile(0.99)(durationNano) / 1000000 AS p99, quantile(0.99)(durationNano) / 1000000 AS p99,
count(*) AS total_requests, count(*) AS total_requests,
stringTagMap['messaging.destination.name'] AS topic, attributes_string['messaging.destination.name'] AS topic,
stringTagMap['messaging.destination.partition.id'] AS partition attributes_string['messaging.destination.partition.id'] AS partition
FROM signoz_traces.distributed_signoz_index_v2 FROM signoz_traces.distributed_signoz_index_v3
WHERE WHERE
timestamp >= '%d' timestamp >= '%d'
AND timestamp <= '%d' AND timestamp <= '%d'
AND kind = 4 AND kind = 4
AND msgSystem = '%s' AND attribute_string_messaging$$system = '%s'
GROUP BY topic, partition GROUP BY topic, partition
) )
@@ -78,25 +78,25 @@ func generateConsumerPartitionLatencySQL(start, end int64, topic, partition, que
query := fmt.Sprintf(` query := fmt.Sprintf(`
WITH consumer_pl AS ( WITH consumer_pl AS (
SELECT SELECT
stringTagMap['messaging.kafka.consumer.group'] AS consumer_group, attributes_string['messaging.kafka.consumer.group'] AS consumer_group,
serviceName, resource_string_service$$name,
quantile(0.99)(durationNano) / 1000000 AS p99, quantile(0.99)(durationNano) / 1000000 AS p99,
COUNT(*) AS total_requests, COUNT(*) AS total_requests,
sumIf(1, statusCode = 2) AS error_count sumIf(1, status_code = 2) AS error_count
FROM signoz_traces.distributed_signoz_index_v2 FROM signoz_traces.distributed_signoz_index_v3
WHERE WHERE
timestamp >= '%d' timestamp >= '%d'
AND timestamp <= '%d' AND timestamp <= '%d'
AND kind = 5 AND kind = 5
AND msgSystem = '%s' AND attribute_string_messaging$$system = '%s'
AND stringTagMap['messaging.destination.name'] = '%s' AND attributes_string['messaging.destination.name'] = '%s'
AND stringTagMap['messaging.destination.partition.id'] = '%s' AND attributes_string['messaging.destination.partition.id'] = '%s'
GROUP BY consumer_group, serviceName GROUP BY consumer_group, resource_string_service$$name
) )
SELECT SELECT
consumer_group, consumer_group,
serviceName AS service_name, resource_string_service$$name AS service_name,
p99, p99,
COALESCE((error_count * 100.0) / total_requests, 0) AS error_rate, COALESCE((error_count * 100.0) / total_requests, 0) AS error_rate,
COALESCE(total_requests / %d, 0) AS throughput COALESCE(total_requests / %d, 0) AS throughput
@@ -115,23 +115,23 @@ func generateProducerPartitionThroughputSQL(start, end int64, queueType string)
query := fmt.Sprintf(` query := fmt.Sprintf(`
WITH producer_latency AS ( WITH producer_latency AS (
SELECT SELECT
serviceName, resource_string_service$$name,
quantile(0.99)(durationNano) / 1000000 AS p99, quantile(0.99)(durationNano) / 1000000 AS p99,
stringTagMap['messaging.destination.name'] AS topic, attributes_string['messaging.destination.name'] AS topic,
COUNT(*) AS total_requests, COUNT(*) AS total_requests,
sumIf(1, statusCode = 2) AS error_count sumIf(1, status_code = 2) AS error_count
FROM signoz_traces.distributed_signoz_index_v2 FROM signoz_traces.distributed_signoz_index_v3
WHERE WHERE
timestamp >= '%d' timestamp >= '%d'
AND timestamp <= '%d' AND timestamp <= '%d'
AND kind = 4 AND kind = 4
AND msgSystem = '%s' AND attribute_string_messaging$$system = '%s'
GROUP BY topic, serviceName GROUP BY topic, resource_string_service$$name
) )
SELECT SELECT
topic, topic,
serviceName AS service_name, resource_string_service$$name AS service_name,
p99, p99,
COALESCE((error_count * 100.0) / total_requests, 0) AS error_rate, COALESCE((error_count * 100.0) / total_requests, 0) AS error_rate,
COALESCE(total_requests / %d, 0) AS throughput COALESCE(total_requests / %d, 0) AS throughput
@@ -148,17 +148,17 @@ func generateProducerTopicLatencySQL(start, end int64, topic, service, queueType
WITH consumer_latency AS ( WITH consumer_latency AS (
SELECT SELECT
quantile(0.99)(durationNano) / 1000000 AS p99, quantile(0.99)(durationNano) / 1000000 AS p99,
stringTagMap['messaging.destination.partition.id'] AS partition, attributes_string['messaging.destination.partition.id'] AS partition,
COUNT(*) AS total_requests, COUNT(*) AS total_requests,
sumIf(1, statusCode = 2) AS error_count sumIf(1, status_code = 2) AS error_count
FROM signoz_traces.distributed_signoz_index_v2 FROM signoz_traces.distributed_signoz_index_v3
WHERE WHERE
timestamp >= '%d' timestamp >= '%d'
AND timestamp <= '%d' AND timestamp <= '%d'
AND kind = 4 AND kind = 4
AND serviceName = '%s' AND resource_string_service$$name = '%s'
AND msgSystem = '%s' AND attribute_string_messaging$$system = '%s'
AND stringTagMap['messaging.destination.name'] = '%s' AND attributes_string['messaging.destination.name'] = '%s'
GROUP BY partition GROUP BY partition
) )
@@ -179,24 +179,24 @@ func generateConsumerLatencySQL(start, end int64, queueType string) string {
query := fmt.Sprintf(` query := fmt.Sprintf(`
WITH consumer_latency AS ( WITH consumer_latency AS (
SELECT SELECT
serviceName, resource_string_service$$name,
stringTagMap['messaging.destination.name'] AS topic, attributes_string['messaging.destination.name'] AS topic,
quantile(0.99)(durationNano) / 1000000 AS p99, quantile(0.99)(durationNano) / 1000000 AS p99,
COUNT(*) AS total_requests, COUNT(*) AS total_requests,
sumIf(1, statusCode = 2) AS error_count, sumIf(1, status_code = 2) AS error_count,
SUM(numberTagMap['messaging.message.body.size']) AS total_bytes SUM(attributes_number['messaging.message.body.size']) AS total_bytes
FROM signoz_traces.distributed_signoz_index_v2 FROM signoz_traces.distributed_signoz_index_v3
WHERE WHERE
timestamp >= '%d' timestamp >= '%d'
AND timestamp <= '%d' AND timestamp <= '%d'
AND kind = 5 AND kind = 5
AND msgSystem = '%s' AND attribute_string_messaging$$system = '%s'
GROUP BY topic, serviceName GROUP BY topic, resource_string_service$$name
) )
SELECT SELECT
topic, topic,
serviceName AS service_name, resource_string_service$$name AS service_name,
p99, p99,
COALESCE((error_count * 100.0) / total_requests, 0) AS error_rate, COALESCE((error_count * 100.0) / total_requests, 0) AS error_rate,
COALESCE(total_requests / %d, 0) AS ingestion_rate, COALESCE(total_requests / %d, 0) AS ingestion_rate,
@@ -216,17 +216,17 @@ func generateConsumerServiceLatencySQL(start, end int64, topic, service, queueTy
WITH consumer_latency AS ( WITH consumer_latency AS (
SELECT SELECT
quantile(0.99)(durationNano) / 1000000 AS p99, quantile(0.99)(durationNano) / 1000000 AS p99,
stringTagMap['messaging.destination.partition.id'] AS partition, attributes_string['messaging.destination.partition.id'] AS partition,
COUNT(*) AS total_requests, COUNT(*) AS total_requests,
sumIf(1, statusCode = 2) AS error_count sumIf(1, status_code = 2) AS error_count
FROM signoz_traces.distributed_signoz_index_v2 FROM signoz_traces.distributed_signoz_index_v3
WHERE WHERE
timestamp >= '%d' timestamp >= '%d'
AND timestamp <= '%d' AND timestamp <= '%d'
AND kind = 5 AND kind = 5
AND serviceName = '%s' AND resource_string_service$$name = '%s'
AND msgSystem = '%s' AND attribute_string_messaging$$system = '%s'
AND stringTagMap['messaging.destination.name'] = '%s' AND attributes_string['messaging.destination.name'] = '%s'
GROUP BY partition GROUP BY partition
) )
@@ -246,26 +246,26 @@ func generateProducerConsumerEvalSQL(start, end int64, queueType string, evalTim
query := fmt.Sprintf(` query := fmt.Sprintf(`
WITH trace_data AS ( WITH trace_data AS (
SELECT SELECT
p.serviceName AS producer_service, p.resource_string_service$$name AS producer_service,
c.serviceName AS consumer_service, c.resource_string_service$$name AS consumer_service,
p.traceID, p.trace_id,
p.timestamp AS producer_timestamp, p.timestamp AS producer_timestamp,
c.timestamp AS consumer_timestamp, c.timestamp AS consumer_timestamp,
p.durationNano AS durationNano, p.durationNano AS durationNano,
(toUnixTimestamp64Nano(c.timestamp) - toUnixTimestamp64Nano(p.timestamp)) + p.durationNano AS time_difference (toUnixTimestamp64Nano(c.timestamp) - toUnixTimestamp64Nano(p.timestamp)) + p.durationNano AS time_difference
FROM FROM
signoz_traces.distributed_signoz_index_v2 p signoz_traces.distributed_signoz_index_v3 p
INNER JOIN INNER JOIN
signoz_traces.distributed_signoz_index_v2 c signoz_traces.distributed_signoz_index_v3 c
ON p.traceID = c.traceID ON p.trace_id = c.trace_id
AND c.parentSpanID = p.spanID AND c.parent_span_id = p.span_id
WHERE WHERE
p.kind = 4 p.kind = 4
AND c.kind = 5 AND c.kind = 5
AND toUnixTimestamp64Nano(p.timestamp) BETWEEN '%d' AND '%d' AND toUnixTimestamp64Nano(p.timestamp) BETWEEN '%d' AND '%d'
AND toUnixTimestamp64Nano(c.timestamp) BETWEEN '%d' AND '%d' AND toUnixTimestamp64Nano(c.timestamp) BETWEEN '%d' AND '%d'
AND c.msgSystem = '%s' AND c.attribute_string_messaging$$system = '%s'
AND p.msgSystem = '%s' AND p.attribute_string_messaging$$system = '%s'
) )
SELECT SELECT
@@ -278,7 +278,7 @@ SELECT
arrayMap(x -> x.1, arrayMap(x -> x.1,
arraySort( arraySort(
x -> -x.2, x -> -x.2,
groupArrayIf((traceID, time_difference), time_difference > '%d') groupArrayIf((trace_id, time_difference), time_difference > '%d')
) )
), ),
1, 10 1, 10
@@ -296,30 +296,30 @@ func generateProducerSQL(start, end int64, topic, partition, queueType string) s
query := fmt.Sprintf(` query := fmt.Sprintf(`
WITH producer_query AS ( WITH producer_query AS (
SELECT SELECT
serviceName, resource_string_service$$name,
quantile(0.99)(durationNano) / 1000000 AS p99, quantile(0.99)(durationNano) / 1000000 AS p99,
count(*) AS total_count, count(*) AS total_count,
sumIf(1, statusCode = 2) AS error_count sumIf(1, status_code = 2) AS error_count
FROM signoz_traces.distributed_signoz_index_v2 FROM signoz_traces.distributed_signoz_index_v3
WHERE WHERE
timestamp >= '%d' timestamp >= '%d'
AND timestamp <= '%d' AND timestamp <= '%d'
AND kind = 4 AND kind = 4
AND msgSystem = '%s' AND attribute_string_messaging$$system = '%s'
AND stringTagMap['messaging.destination.name'] = '%s' AND attributes_string['messaging.destination.name'] = '%s'
AND stringTagMap['messaging.destination.partition.id'] = '%s' AND attributes_string['messaging.destination.partition.id'] = '%s'
GROUP BY serviceName GROUP BY resource_string_service$$name
) )
SELECT SELECT
serviceName AS service_name, resource_string_service$$name AS service_name,
p99, p99,
COALESCE((error_count * 100.0) / total_count, 0) AS error_percentage, COALESCE((error_count * 100.0) / total_count, 0) AS error_percentage,
COALESCE(total_count / %d, 0) AS throughput COALESCE(total_count / %d, 0) AS throughput
FROM FROM
producer_query producer_query
ORDER BY ORDER BY
serviceName; resource_string_service$$name;
`, start, end, queueType, topic, partition, timeRange) `, start, end, queueType, topic, partition, timeRange)
return query return query
} }
@@ -328,18 +328,18 @@ func generateNetworkLatencyThroughputSQL(start, end int64, consumerGroup, partit
timeRange := (end - start) / 1000000000 timeRange := (end - start) / 1000000000
query := fmt.Sprintf(` query := fmt.Sprintf(`
SELECT SELECT
stringTagMap['messaging.client_id'] AS client_id, attributes_string['messaging.client_id'] AS client_id,
stringTagMap['service.instance.id'] AS service_instance_id, attributes_string['service.instance.id'] AS service_instance_id,
serviceName AS service_name, resource_string_service$$name AS service_name,
count(*) / %d AS throughput count(*) / %d AS throughput
FROM signoz_traces.distributed_signoz_index_v2 FROM signoz_traces.distributed_signoz_index_v3
WHERE WHERE
timestamp >= '%d' timestamp >= '%d'
AND timestamp <= '%d' AND timestamp <= '%d'
AND kind = 5 AND kind = 5
AND msgSystem = '%s' AND attribute_string_messaging$$system = '%s'
AND stringTagMap['messaging.kafka.consumer.group'] = '%s' AND attributes_string['messaging.kafka.consumer.group'] = '%s'
AND stringTagMap['messaging.destination.partition.id'] = '%s' AND attributes_string['messaging.destination.partition.id'] = '%s'
GROUP BY service_name, client_id, service_instance_id GROUP BY service_name, client_id, service_instance_id
ORDER BY throughput DESC ORDER BY throughput DESC
`, timeRange, start, end, queueType, consumerGroup, partitionID) `, timeRange, start, end, queueType, consumerGroup, partitionID)
@@ -350,12 +350,12 @@ func onboardProducersSQL(start, end int64, queueType string) string {
query := fmt.Sprintf(` query := fmt.Sprintf(`
SELECT SELECT
COUNT(*) = 0 AS entries, COUNT(*) = 0 AS entries,
COUNT(IF(msgSystem = '%s', 1, NULL)) = 0 AS queue, COUNT(IF(attribute_string_messaging$$system = '%s', 1, NULL)) = 0 AS queue,
COUNT(IF(kind = 4, 1, NULL)) = 0 AS kind, COUNT(IF(kind = 4, 1, NULL)) = 0 AS kind,
COUNT(IF(has(stringTagMap, 'messaging.destination.name'), 1, NULL)) = 0 AS destination, COUNT(IF(has(attributes_string, 'messaging.destination.name'), 1, NULL)) = 0 AS destination,
COUNT(IF(has(stringTagMap, 'messaging.destination.partition.id'), 1, NULL)) = 0 AS partition COUNT(IF(has(attributes_string, 'messaging.destination.partition.id'), 1, NULL)) = 0 AS partition
FROM FROM
signoz_traces.distributed_signoz_index_v2 signoz_traces.distributed_signoz_index_v3
WHERE WHERE
timestamp >= '%d' timestamp >= '%d'
AND timestamp <= '%d';`, queueType, start, end) AND timestamp <= '%d';`, queueType, start, end)
@@ -366,16 +366,16 @@ func onboardConsumerSQL(start, end int64, queueType string) string {
query := fmt.Sprintf(` query := fmt.Sprintf(`
SELECT SELECT
COUNT(*) = 0 AS entries, COUNT(*) = 0 AS entries,
COUNT(IF(msgSystem = '%s', 1, NULL)) = 0 AS queue, COUNT(IF(attribute_string_messaging$$system = '%s', 1, NULL)) = 0 AS queue,
COUNT(IF(kind = 5, 1, NULL)) = 0 AS kind, COUNT(IF(kind = 5, 1, NULL)) = 0 AS kind,
COUNT(serviceName) = 0 AS svc, COUNT(resource_string_service$$name) = 0 AS svc,
COUNT(IF(has(stringTagMap, 'messaging.destination.name'), 1, NULL)) = 0 AS destination, COUNT(IF(has(attributes_string, 'messaging.destination.name'), 1, NULL)) = 0 AS destination,
COUNT(IF(has(stringTagMap, 'messaging.destination.partition.id'), 1, NULL)) = 0 AS partition, COUNT(IF(has(attributes_string, 'messaging.destination.partition.id'), 1, NULL)) = 0 AS partition,
COUNT(IF(has(stringTagMap, 'messaging.kafka.consumer.group'), 1, NULL)) = 0 AS cgroup, COUNT(IF(has(attributes_string, 'messaging.kafka.consumer.group'), 1, NULL)) = 0 AS cgroup,
COUNT(IF(has(numberTagMap, 'messaging.message.body.size'), 1, NULL)) = 0 AS bodysize, COUNT(IF(has(attributes_number, 'messaging.message.body.size'), 1, NULL)) = 0 AS bodysize,
COUNT(IF(has(stringTagMap, 'messaging.client_id'), 1, NULL)) = 0 AS clientid, COUNT(IF(has(attributes_string, 'messaging.client_id'), 1, NULL)) = 0 AS clientid,
COUNT(IF(has(stringTagMap, 'service.instance.id'), 1, NULL)) = 0 AS instanceid COUNT(IF(has(attributes_string, 'service.instance.id'), 1, NULL)) = 0 AS instanceid
FROM signoz_traces.distributed_signoz_index_v2 FROM signoz_traces.distributed_signoz_index_v3
WHERE WHERE
timestamp >= '%d' timestamp >= '%d'
AND timestamp <= '%d';`, queueType, start, end) AND timestamp <= '%d';`, queueType, start, end)

View File

@@ -90,7 +90,7 @@ func EnableHostsInfraMonitoring() bool {
return GetOrDefaultEnv("ENABLE_INFRA_METRICS", "true") == "true" return GetOrDefaultEnv("ENABLE_INFRA_METRICS", "true") == "true"
} }
var KafkaSpanEval = GetOrDefaultEnv("KAFKA_SPAN_EVAL", "false") var KafkaSpanEval = GetOrDefaultEnv("KAFKA_SPAN_EVAL", "true")
func IsDurationSortFeatureEnabled() bool { func IsDurationSortFeatureEnabled() bool {
isDurationSortFeatureEnabledStr := DurationSortFeature isDurationSortFeatureEnabledStr := DurationSortFeature

View File

@@ -5,7 +5,7 @@ Follow the steps in this section to install a sample application named HotR.O.D,
```console ```console
kubectl create ns sample-application kubectl create ns sample-application
kubectl -n sample-application apply -f https://github.com/SigNoz/signoz/raw/develop/sample-apps/hotrod/hotrod.yaml kubectl -n sample-application apply -f https://github.com/SigNoz/signoz/raw/main/sample-apps/hotrod/hotrod.yaml
``` ```
In case, you have installed SigNoz in namespace other than `platform` or selected Helm release name other than `my-release`, follow the steps below: In case, you have installed SigNoz in namespace other than `platform` or selected Helm release name other than `my-release`, follow the steps below:
@@ -15,7 +15,7 @@ export HELM_RELEASE=my-release-2
export SIGNOZ_NAMESPACE=platform-2 export SIGNOZ_NAMESPACE=platform-2
export HOTROD_NAMESPACE=sample-application-2 export HOTROD_NAMESPACE=sample-application-2
curl -sL https://github.com/SigNoz/signoz/raw/develop/sample-apps/hotrod/hotrod-install.sh | bash curl -sL https://github.com/SigNoz/signoz/raw/main/sample-apps/hotrod/hotrod-install.sh | bash
``` ```
To delete sample application: To delete sample application:
@@ -23,7 +23,7 @@ To delete sample application:
```console ```console
export HOTROD_NAMESPACE=sample-application-2 export HOTROD_NAMESPACE=sample-application-2
curl -sL https://github.com/SigNoz/signoz/raw/develop/sample-apps/hotrod/hotrod-delete.sh | bash curl -sL https://github.com/SigNoz/signoz/raw/main/sample-apps/hotrod/hotrod-delete.sh | bash
``` ```
For testing with local scripts, you can use the following commands: For testing with local scripts, you can use the following commands:

View File

@@ -7,7 +7,7 @@ HOTROD_NAMESPACE=${HOTROD_NAMESPACE:-"sample-application"}
if [[ "${HOTROD_NAMESPACE}" == "default" || "${HOTROD_NAMESPACE}" == "kube-system" || "${HOTROD_NAMESPACE}" == "platform" ]]; then if [[ "${HOTROD_NAMESPACE}" == "default" || "${HOTROD_NAMESPACE}" == "kube-system" || "${HOTROD_NAMESPACE}" == "platform" ]]; then
echo "Default k8s namespace and SigNoz namespace must not be deleted" echo "Default k8s namespace and SigNoz namespace must not be deleted"
echo "Deleting components only" echo "Deleting components only"
kubectl delete --namespace="${HOTROD_NAMESPACE}" -f <(cat hotrod-template.yaml || curl -sL https://github.com/SigNoz/signoz/raw/develop/sample-apps/hotrod/hotrod-template.yaml) kubectl delete --namespace="${HOTROD_NAMESPACE}" -f <(cat hotrod-template.yaml || curl -sL https://github.com/SigNoz/signoz/raw/main/sample-apps/hotrod/hotrod-template.yaml)
else else
echo "Delete HotROD sample app namespace ${HOTROD_NAMESPACE}" echo "Delete HotROD sample app namespace ${HOTROD_NAMESPACE}"
kubectl delete namespace "${HOTROD_NAMESPACE}" kubectl delete namespace "${HOTROD_NAMESPACE}"

View File

@@ -37,7 +37,7 @@ kubectl create namespace "$HOTROD_NAMESPACE" --save-config --dry-run -o yaml 2>/
# Setup sample apps into specified namespace # Setup sample apps into specified namespace
kubectl apply --namespace="${HOTROD_NAMESPACE}" -f <( \ kubectl apply --namespace="${HOTROD_NAMESPACE}" -f <( \
(cat hotrod-template.yaml 2>/dev/null || curl -sL https://github.com/SigNoz/signoz/raw/develop/sample-apps/hotrod/hotrod-template.yaml) | \ (cat hotrod-template.yaml 2>/dev/null || curl -sL https://github.com/SigNoz/signoz/raw/main/sample-apps/hotrod/hotrod-template.yaml) | \
HOTROD_NAMESPACE="${HOTROD_NAMESPACE}" \ HOTROD_NAMESPACE="${HOTROD_NAMESPACE}" \
HOTROD_IMAGE="${HOTROD_IMAGE}" \ HOTROD_IMAGE="${HOTROD_IMAGE}" \
LOCUST_IMAGE="${LOCUST_IMAGE}" \ LOCUST_IMAGE="${LOCUST_IMAGE}" \