Jaeger: Run dependency graph queries through backend behind the feature toggle (#103768)

* Start with dependency graph

* Update and add tests

* Fix lint and ordering in test
This commit is contained in:
Ivana Huckova
2025-04-14 10:54:40 +02:00
committed by GitHub
parent 7aa028122b
commit 242ac6bfa7
11 changed files with 880 additions and 1 deletions
@@ -0,0 +1,127 @@
// 🌟 This was machine generated. Do not edit. 🌟
//
// Frame[0] {
// "typeVersion": [
// 0,
// 0
// ],
// "preferredVisualisationType": "nodeGraph"
// }
// Name: test_edges
// Dimensions: 4 Fields by 9 Rows
// +----------------------------------+-------------------+-------------------+----------------+
// | Name: id | Name: source | Name: target | Name: mainstat |
// | Labels: | Labels: | Labels: | Labels: |
// | Type: []string | Type: []string | Type: []string | Type: []int64 |
// +----------------------------------+-------------------+-------------------+----------------+
// | frontend--auth-service | frontend | auth-service | 150 |
// | frontend--api-gateway | frontend | api-gateway | 300 |
// | api-gateway--user-service | api-gateway | user-service | 200 |
// | api-gateway--order-service | api-gateway | order-service | 100 |
// | order-service--payment-service | order-service | payment-service | 80 |
// | order-service--inventory-service | order-service | inventory-service | 90 |
// | user-service--database | user-service | database | 500 |
// | payment-service--database | payment-service | database | 200 |
// | inventory-service--database | inventory-service | database | 300 |
// +----------------------------------+-------------------+-------------------+----------------+
//
//
// 🌟 This was machine generated. Do not edit. 🌟
{
"status": 200,
"frames": [
{
"schema": {
"name": "test_edges",
"meta": {
"typeVersion": [
0,
0
],
"preferredVisualisationType": "nodeGraph"
},
"fields": [
{
"name": "id",
"type": "string",
"typeInfo": {
"frame": "string"
}
},
{
"name": "source",
"type": "string",
"typeInfo": {
"frame": "string"
}
},
{
"name": "target",
"type": "string",
"typeInfo": {
"frame": "string"
}
},
{
"name": "mainstat",
"type": "number",
"typeInfo": {
"frame": "int64"
},
"config": {
"displayName": "Call count"
}
}
]
},
"data": {
"values": [
[
"frontend--auth-service",
"frontend--api-gateway",
"api-gateway--user-service",
"api-gateway--order-service",
"order-service--payment-service",
"order-service--inventory-service",
"user-service--database",
"payment-service--database",
"inventory-service--database"
],
[
"frontend",
"frontend",
"api-gateway",
"api-gateway",
"order-service",
"order-service",
"user-service",
"payment-service",
"inventory-service"
],
[
"auth-service",
"api-gateway",
"user-service",
"order-service",
"payment-service",
"inventory-service",
"database",
"database",
"database"
],
[
150,
300,
200,
100,
80,
90,
500,
200,
300
]
]
}
}
]
}
@@ -0,0 +1,85 @@
// 🌟 This was machine generated. Do not edit. 🌟
//
// Frame[0] {
// "typeVersion": [
// 0,
// 0
// ],
// "preferredVisualisationType": "nodeGraph"
// }
// Name: test_nodes
// Dimensions: 2 Fields by 8 Rows
// +-------------------+-------------------+
// | Name: id | Name: title |
// | Labels: | Labels: |
// | Type: []string | Type: []string |
// +-------------------+-------------------+
// | api-gateway | api-gateway |
// | auth-service | auth-service |
// | database | database |
// | frontend | frontend |
// | inventory-service | inventory-service |
// | order-service | order-service |
// | payment-service | payment-service |
// | user-service | user-service |
// +-------------------+-------------------+
//
//
// 🌟 This was machine generated. Do not edit. 🌟
{
"status": 200,
"frames": [
{
"schema": {
"name": "test_nodes",
"meta": {
"typeVersion": [
0,
0
],
"preferredVisualisationType": "nodeGraph"
},
"fields": [
{
"name": "id",
"type": "string",
"typeInfo": {
"frame": "string"
}
},
{
"name": "title",
"type": "string",
"typeInfo": {
"frame": "string"
}
}
]
},
"data": {
"values": [
[
"api-gateway",
"auth-service",
"database",
"frontend",
"inventory-service",
"order-service",
"payment-service",
"user-service"
],
[
"api-gateway",
"auth-service",
"database",
"frontend",
"inventory-service",
"order-service",
"payment-service",
"user-service"
]
]
}
}
]
}
@@ -0,0 +1,78 @@
// 🌟 This was machine generated. Do not edit. 🌟
//
// Frame[0] {
// "typeVersion": [
// 0,
// 0
// ],
// "preferredVisualisationType": "nodeGraph"
// }
// Name: test_edges
// Dimensions: 4 Fields by 0 Rows
// +----------------+----------------+----------------+----------------+
// | Name: id | Name: source | Name: target | Name: mainstat |
// | Labels: | Labels: | Labels: | Labels: |
// | Type: []string | Type: []string | Type: []string | Type: []int64 |
// +----------------+----------------+----------------+----------------+
// +----------------+----------------+----------------+----------------+
//
//
// 🌟 This was machine generated. Do not edit. 🌟
{
"status": 200,
"frames": [
{
"schema": {
"name": "test_edges",
"meta": {
"typeVersion": [
0,
0
],
"preferredVisualisationType": "nodeGraph"
},
"fields": [
{
"name": "id",
"type": "string",
"typeInfo": {
"frame": "string"
}
},
{
"name": "source",
"type": "string",
"typeInfo": {
"frame": "string"
}
},
{
"name": "target",
"type": "string",
"typeInfo": {
"frame": "string"
}
},
{
"name": "mainstat",
"type": "number",
"typeInfo": {
"frame": "int64"
},
"config": {
"displayName": "Call count"
}
}
]
},
"data": {
"values": [
[],
[],
[],
[]
]
}
}
]
}
@@ -0,0 +1,59 @@
// 🌟 This was machine generated. Do not edit. 🌟
//
// Frame[0] {
// "typeVersion": [
// 0,
// 0
// ],
// "preferredVisualisationType": "nodeGraph"
// }
// Name: test_nodes
// Dimensions: 2 Fields by 0 Rows
// +----------------+----------------+
// | Name: id | Name: title |
// | Labels: | Labels: |
// | Type: []string | Type: []string |
// +----------------+----------------+
// +----------------+----------------+
//
//
// 🌟 This was machine generated. Do not edit. 🌟
{
"status": 200,
"frames": [
{
"schema": {
"name": "test_nodes",
"meta": {
"typeVersion": [
0,
0
],
"preferredVisualisationType": "nodeGraph"
},
"fields": [
{
"name": "id",
"type": "string",
"typeInfo": {
"frame": "string"
}
},
{
"name": "title",
"type": "string",
"typeInfo": {
"frame": "string"
}
}
]
},
"data": {
"values": [
[],
[]
]
}
}
]
}
@@ -0,0 +1,97 @@
// 🌟 This was machine generated. Do not edit. 🌟
//
// Frame[0] {
// "typeVersion": [
// 0,
// 0
// ],
// "preferredVisualisationType": "nodeGraph"
// }
// Name: test_edges
// Dimensions: 4 Fields by 3 Rows
// +--------------------+----------------+----------------+----------------+
// | Name: id | Name: source | Name: target | Name: mainstat |
// | Labels: | Labels: | Labels: | Labels: |
// | Type: []string | Type: []string | Type: []string | Type: []int64 |
// +--------------------+----------------+----------------+----------------+
// | serviceA--serviceB | serviceA | serviceB | 1 |
// | serviceA--serviceC | serviceA | serviceC | 2 |
// | serviceB--serviceC | serviceB | serviceC | 3 |
// +--------------------+----------------+----------------+----------------+
//
//
// 🌟 This was machine generated. Do not edit. 🌟
{
"status": 200,
"frames": [
{
"schema": {
"name": "test_edges",
"meta": {
"typeVersion": [
0,
0
],
"preferredVisualisationType": "nodeGraph"
},
"fields": [
{
"name": "id",
"type": "string",
"typeInfo": {
"frame": "string"
}
},
{
"name": "source",
"type": "string",
"typeInfo": {
"frame": "string"
}
},
{
"name": "target",
"type": "string",
"typeInfo": {
"frame": "string"
}
},
{
"name": "mainstat",
"type": "number",
"typeInfo": {
"frame": "int64"
},
"config": {
"displayName": "Call count"
}
}
]
},
"data": {
"values": [
[
"serviceA--serviceB",
"serviceA--serviceC",
"serviceB--serviceC"
],
[
"serviceA",
"serviceA",
"serviceB"
],
[
"serviceB",
"serviceC",
"serviceC"
],
[
1,
2,
3
]
]
}
}
]
}
@@ -0,0 +1,70 @@
// 🌟 This was machine generated. Do not edit. 🌟
//
// Frame[0] {
// "typeVersion": [
// 0,
// 0
// ],
// "preferredVisualisationType": "nodeGraph"
// }
// Name: test_nodes
// Dimensions: 2 Fields by 3 Rows
// +----------------+----------------+
// | Name: id | Name: title |
// | Labels: | Labels: |
// | Type: []string | Type: []string |
// +----------------+----------------+
// | serviceA | serviceA |
// | serviceB | serviceB |
// | serviceC | serviceC |
// +----------------+----------------+
//
//
// 🌟 This was machine generated. Do not edit. 🌟
{
"status": 200,
"frames": [
{
"schema": {
"name": "test_nodes",
"meta": {
"typeVersion": [
0,
0
],
"preferredVisualisationType": "nodeGraph"
},
"fields": [
{
"name": "id",
"type": "string",
"typeInfo": {
"frame": "string"
}
},
{
"name": "title",
"type": "string",
"typeInfo": {
"frame": "string"
}
}
]
},
"data": {
"values": [
[
"serviceA",
"serviceB",
"serviceC"
],
[
"serviceA",
"serviceB",
"serviceC"
]
]
}
}
]
}