@djangocfg/api 1.2.22 → 1.2.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/index.cjs +4228 -2450
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.cts +3122 -738
  4. package/dist/index.d.ts +3122 -738
  5. package/dist/index.mjs +4140 -2370
  6. package/dist/index.mjs.map +1 -1
  7. package/package.json +2 -2
  8. package/src/cfg/generated/_utils/fetchers/cfg__centrifugo__centrifugo_monitoring.ts +3 -3
  9. package/src/cfg/generated/_utils/fetchers/cfg__grpc__grpc_charts.ts +138 -0
  10. package/src/cfg/generated/_utils/fetchers/cfg__grpc__grpc_monitoring.ts +11 -11
  11. package/src/cfg/generated/_utils/fetchers/cfg__grpc__grpc_testing.ts +6 -6
  12. package/src/cfg/generated/_utils/fetchers/index.ts +1 -0
  13. package/src/cfg/generated/_utils/hooks/cfg__centrifugo__centrifugo_monitoring.ts +3 -3
  14. package/src/cfg/generated/_utils/hooks/cfg__grpc__grpc_charts.ts +126 -0
  15. package/src/cfg/generated/_utils/hooks/cfg__grpc__grpc_monitoring.ts +9 -9
  16. package/src/cfg/generated/_utils/hooks/cfg__grpc__grpc_testing.ts +4 -4
  17. package/src/cfg/generated/_utils/hooks/index.ts +1 -0
  18. package/src/cfg/generated/_utils/schemas/CentrifugoClientInfo.schema.ts +2 -2
  19. package/src/cfg/generated/_utils/schemas/CentrifugoHistoryRequestRequest.schema.ts +2 -2
  20. package/src/cfg/generated/_utils/schemas/{OverviewStats.schema.ts → CentrifugoOverviewStats.schema.ts} +3 -3
  21. package/src/cfg/generated/_utils/schemas/CentrifugoPublication.schema.ts +1 -1
  22. package/src/cfg/generated/_utils/schemas/DashboardCharts.schema.ts +30 -0
  23. package/src/cfg/generated/_utils/schemas/DjangoRQConfig.schema.ts +8 -1
  24. package/src/cfg/generated/_utils/schemas/ErrorDistributionChart.schema.ts +24 -0
  25. package/src/cfg/generated/_utils/schemas/ErrorDistributionChartSerializer.schema.ts +24 -0
  26. package/src/cfg/generated/_utils/schemas/ErrorDistributionDataPoint.schema.ts +22 -0
  27. package/src/cfg/generated/_utils/schemas/GRPCHealthCheck.schema.ts +23 -0
  28. package/src/cfg/generated/_utils/schemas/GRPCOverviewStats.schema.ts +27 -0
  29. package/src/cfg/generated/_utils/schemas/GRPCServerConfigSerializer.schema.ts +1 -1
  30. package/src/cfg/generated/_utils/schemas/GRPCServerInfo.schema.ts +1 -1
  31. package/src/cfg/generated/_utils/schemas/{GRPCTestLogSerializer.schema.ts → GRPCTestLog.schema.ts} +4 -4
  32. package/src/cfg/generated/_utils/schemas/MonitoringServiceStatsSerializer.schema.ts +24 -0
  33. package/src/cfg/generated/_utils/schemas/RecentRequest.schema.ts +28 -0
  34. package/src/cfg/generated/_utils/schemas/RequestVolumeChart.schema.ts +25 -0
  35. package/src/cfg/generated/_utils/schemas/RequestVolumeChartSerializer.schema.ts +25 -0
  36. package/src/cfg/generated/_utils/schemas/RequestVolumeDataPoint.schema.ts +23 -0
  37. package/src/cfg/generated/_utils/schemas/ResponseTimeChart.schema.ts +25 -0
  38. package/src/cfg/generated/_utils/schemas/ResponseTimeChartSerializer.schema.ts +25 -0
  39. package/src/cfg/generated/_utils/schemas/ResponseTimeDataPoint.schema.ts +25 -0
  40. package/src/cfg/generated/_utils/schemas/ServerLifecycleChart.schema.ts +25 -0
  41. package/src/cfg/generated/_utils/schemas/ServerLifecycleEvent.schema.ts +24 -0
  42. package/src/cfg/generated/_utils/schemas/ServerUptimeChart.schema.ts +25 -0
  43. package/src/cfg/generated/_utils/schemas/ServerUptimeChartSerializer.schema.ts +25 -0
  44. package/src/cfg/generated/_utils/schemas/ServerUptimeDataPoint.schema.ts +21 -0
  45. package/src/cfg/generated/_utils/schemas/ServiceActivityChart.schema.ts +24 -0
  46. package/src/cfg/generated/_utils/schemas/ServiceActivityChartSerializer.schema.ts +24 -0
  47. package/src/cfg/generated/_utils/schemas/ServiceActivityDataPoint.schema.ts +22 -0
  48. package/src/cfg/generated/_utils/schemas/ServiceList.schema.ts +2 -2
  49. package/src/cfg/generated/_utils/schemas/ServiceStatsSerializer.schema.ts +8 -8
  50. package/src/cfg/generated/_utils/schemas/index.ts +24 -4
  51. package/src/cfg/generated/cfg__centrifugo__centrifugo_admin_api/models.ts +5 -5
  52. package/src/cfg/generated/cfg__centrifugo__centrifugo_monitoring/client.ts +4 -4
  53. package/src/cfg/generated/cfg__centrifugo__centrifugo_monitoring/models.ts +1 -1
  54. package/src/cfg/generated/cfg__dashboard__dashboard_config/models.ts +26 -1
  55. package/src/cfg/generated/cfg__endpoints/client.ts +1 -1
  56. package/src/cfg/generated/cfg__grpc__grpc_charts/client.ts +162 -0
  57. package/src/cfg/generated/cfg__grpc__grpc_charts/index.ts +2 -0
  58. package/src/cfg/generated/cfg__grpc__grpc_charts/models.ts +335 -0
  59. package/src/cfg/generated/cfg__grpc__grpc_configuration/models.ts +2 -2
  60. package/src/cfg/generated/cfg__grpc__grpc_monitoring/client.ts +12 -11
  61. package/src/cfg/generated/cfg__grpc__grpc_monitoring/models.ts +45 -31
  62. package/src/cfg/generated/cfg__grpc__grpc_services/models.ts +11 -11
  63. package/src/cfg/generated/cfg__grpc__grpc_testing/client.ts +9 -10
  64. package/src/cfg/generated/cfg__grpc__grpc_testing/models.ts +22 -38
  65. package/src/cfg/generated/cfg__payments/client.ts +1 -1
  66. package/src/cfg/generated/client.ts +3 -0
  67. package/src/cfg/generated/index.ts +5 -0
  68. package/src/cfg/generated/schema.ts +1621 -342
  69. package/src/cfg/generated/_utils/schemas/GRPCTestLogs.schema.ts +0 -23
  70. package/src/cfg/generated/_utils/schemas/RecentRequests.schema.ts +0 -23
@@ -1411,6 +1411,63 @@ export const OPENAPI_SCHEMA = {
1411
1411
  "title": "CentrifugoNodeInfo",
1412
1412
  "type": "object"
1413
1413
  },
1414
+ "CentrifugoOverviewStats": {
1415
+ "description": "Overview statistics for Centrifugo publishes.",
1416
+ "properties": {
1417
+ "avg_acks_received": {
1418
+ "description": "Average ACKs received",
1419
+ "title": "Avg Acks Received",
1420
+ "type": "number"
1421
+ },
1422
+ "avg_duration_ms": {
1423
+ "description": "Average duration in milliseconds",
1424
+ "title": "Avg Duration Ms",
1425
+ "type": "number"
1426
+ },
1427
+ "failed": {
1428
+ "description": "Failed publishes",
1429
+ "title": "Failed",
1430
+ "type": "integer"
1431
+ },
1432
+ "period_hours": {
1433
+ "description": "Statistics period in hours",
1434
+ "title": "Period Hours",
1435
+ "type": "integer"
1436
+ },
1437
+ "success_rate": {
1438
+ "description": "Success rate percentage",
1439
+ "title": "Success Rate",
1440
+ "type": "number"
1441
+ },
1442
+ "successful": {
1443
+ "description": "Successful publishes",
1444
+ "title": "Successful",
1445
+ "type": "integer"
1446
+ },
1447
+ "timeout": {
1448
+ "description": "Timeout publishes",
1449
+ "title": "Timeout",
1450
+ "type": "integer"
1451
+ },
1452
+ "total": {
1453
+ "description": "Total publishes in period",
1454
+ "title": "Total",
1455
+ "type": "integer"
1456
+ }
1457
+ },
1458
+ "required": [
1459
+ "total",
1460
+ "successful",
1461
+ "failed",
1462
+ "timeout",
1463
+ "success_rate",
1464
+ "avg_duration_ms",
1465
+ "avg_acks_received",
1466
+ "period_hours"
1467
+ ],
1468
+ "title": "CentrifugoOverviewStatsSerializer",
1469
+ "type": "object"
1470
+ },
1414
1471
  "CentrifugoPresenceRequestRequest": {
1415
1472
  "description": "Request to get channel presence.",
1416
1473
  "properties": {
@@ -2543,6 +2600,52 @@ export const OPENAPI_SCHEMA = {
2543
2600
  },
2544
2601
  "type": "object"
2545
2602
  },
2603
+ "DashboardCharts": {
2604
+ "description": "Combined dashboard charts data.",
2605
+ "properties": {
2606
+ "error_distribution": {
2607
+ "$ref": "#/components/schemas/ErrorDistributionChartSerializer",
2608
+ "description": "Error distribution chart"
2609
+ },
2610
+ "generated_at": {
2611
+ "description": "When data was generated",
2612
+ "title": "Generated At",
2613
+ "type": "string"
2614
+ },
2615
+ "period_hours": {
2616
+ "description": "Period in hours for all charts",
2617
+ "title": "Period Hours",
2618
+ "type": "integer"
2619
+ },
2620
+ "request_volume": {
2621
+ "$ref": "#/components/schemas/RequestVolumeChartSerializer",
2622
+ "description": "Request volume chart"
2623
+ },
2624
+ "response_time": {
2625
+ "$ref": "#/components/schemas/ResponseTimeChartSerializer",
2626
+ "description": "Response time chart"
2627
+ },
2628
+ "server_uptime": {
2629
+ "$ref": "#/components/schemas/ServerUptimeChartSerializer",
2630
+ "description": "Server uptime chart"
2631
+ },
2632
+ "service_activity": {
2633
+ "$ref": "#/components/schemas/ServiceActivityChartSerializer",
2634
+ "description": "Service activity chart"
2635
+ }
2636
+ },
2637
+ "required": [
2638
+ "server_uptime",
2639
+ "request_volume",
2640
+ "response_time",
2641
+ "service_activity",
2642
+ "error_distribution",
2643
+ "period_hours",
2644
+ "generated_at"
2645
+ ],
2646
+ "title": "DashboardChartsSerializer",
2647
+ "type": "object"
2648
+ },
2546
2649
  "DashboardOverview": {
2547
2650
  "description": "Main serializer for dashboard overview endpoint.\nUses typed serializers for proper OpenAPI schema generation.",
2548
2651
  "properties": {
@@ -2952,12 +3055,41 @@ export const OPENAPI_SCHEMA = {
2952
3055
  "DjangoRQConfig": {
2953
3056
  "description": "Django-RQ configuration.",
2954
3057
  "properties": {
3058
+ "api_token": {
3059
+ "nullable": true,
3060
+ "type": "string"
3061
+ },
3062
+ "enabled": {
3063
+ "nullable": true,
3064
+ "type": "boolean"
3065
+ },
3066
+ "exception_handlers": {
3067
+ "items": {},
3068
+ "nullable": true,
3069
+ "type": "array"
3070
+ },
3071
+ "prometheus_enabled": {
3072
+ "nullable": true,
3073
+ "type": "boolean"
3074
+ },
2955
3075
  "queues": {
2956
- "additionalProperties": {
3076
+ "items": {
2957
3077
  "$ref": "#/components/schemas/RedisQueueConfig"
2958
3078
  },
2959
3079
  "nullable": true,
2960
- "type": "object"
3080
+ "type": "array"
3081
+ },
3082
+ "schedules": {
3083
+ "items": {
3084
+ "additionalProperties": {},
3085
+ "type": "object"
3086
+ },
3087
+ "nullable": true,
3088
+ "type": "array"
3089
+ },
3090
+ "show_admin_link": {
3091
+ "nullable": true,
3092
+ "type": "boolean"
2961
3093
  }
2962
3094
  },
2963
3095
  "type": "object"
@@ -4017,6 +4149,142 @@ export const OPENAPI_SCHEMA = {
4017
4149
  ],
4018
4150
  "type": "object"
4019
4151
  },
4152
+ "ErrorDistributionChart": {
4153
+ "description": "Error distribution chart data.",
4154
+ "properties": {
4155
+ "error_types": {
4156
+ "description": "Error distribution data",
4157
+ "items": {
4158
+ "$ref": "#/components/schemas/ErrorDistributionDataPoint"
4159
+ },
4160
+ "title": "Error Types",
4161
+ "type": "array"
4162
+ },
4163
+ "most_common_error": {
4164
+ "anyOf": [
4165
+ {
4166
+ "type": "string"
4167
+ },
4168
+ {
4169
+ "type": "null"
4170
+ }
4171
+ ],
4172
+ "default": null,
4173
+ "description": "Most common error code",
4174
+ "title": "Most Common Error"
4175
+ },
4176
+ "period_hours": {
4177
+ "description": "Period in hours",
4178
+ "title": "Period Hours",
4179
+ "type": "integer"
4180
+ },
4181
+ "title": {
4182
+ "default": "Error Distribution",
4183
+ "description": "Chart title",
4184
+ "title": "Title",
4185
+ "type": "string"
4186
+ },
4187
+ "total_errors": {
4188
+ "description": "Total number of errors",
4189
+ "title": "Total Errors",
4190
+ "type": "integer"
4191
+ }
4192
+ },
4193
+ "required": [
4194
+ "period_hours",
4195
+ "total_errors"
4196
+ ],
4197
+ "title": "ErrorDistributionChartSerializer",
4198
+ "type": "object"
4199
+ },
4200
+ "ErrorDistributionChartSerializer": {
4201
+ "description": "Error distribution chart data.",
4202
+ "properties": {
4203
+ "error_types": {
4204
+ "description": "Error distribution data",
4205
+ "items": {
4206
+ "$ref": "#/components/schemas/ErrorDistributionDataPoint"
4207
+ },
4208
+ "title": "Error Types",
4209
+ "type": "array"
4210
+ },
4211
+ "most_common_error": {
4212
+ "anyOf": [
4213
+ {
4214
+ "type": "string"
4215
+ },
4216
+ {
4217
+ "type": "null"
4218
+ }
4219
+ ],
4220
+ "default": null,
4221
+ "description": "Most common error code",
4222
+ "title": "Most Common Error"
4223
+ },
4224
+ "period_hours": {
4225
+ "description": "Period in hours",
4226
+ "title": "Period Hours",
4227
+ "type": "integer"
4228
+ },
4229
+ "title": {
4230
+ "default": "Error Distribution",
4231
+ "description": "Chart title",
4232
+ "title": "Title",
4233
+ "type": "string"
4234
+ },
4235
+ "total_errors": {
4236
+ "description": "Total number of errors",
4237
+ "title": "Total Errors",
4238
+ "type": "integer"
4239
+ }
4240
+ },
4241
+ "required": [
4242
+ "period_hours",
4243
+ "total_errors"
4244
+ ],
4245
+ "title": "ErrorDistributionChartSerializer",
4246
+ "type": "object"
4247
+ },
4248
+ "ErrorDistributionDataPoint": {
4249
+ "description": "Error distribution data point.",
4250
+ "properties": {
4251
+ "count": {
4252
+ "description": "Number of occurrences",
4253
+ "title": "Count",
4254
+ "type": "integer"
4255
+ },
4256
+ "error_code": {
4257
+ "description": "gRPC status code",
4258
+ "title": "Error Code",
4259
+ "type": "string"
4260
+ },
4261
+ "percentage": {
4262
+ "description": "Percentage of total errors",
4263
+ "title": "Percentage",
4264
+ "type": "number"
4265
+ },
4266
+ "service_name": {
4267
+ "anyOf": [
4268
+ {
4269
+ "type": "string"
4270
+ },
4271
+ {
4272
+ "type": "null"
4273
+ }
4274
+ ],
4275
+ "default": null,
4276
+ "description": "Service name if filtered",
4277
+ "title": "Service Name"
4278
+ }
4279
+ },
4280
+ "required": [
4281
+ "error_code",
4282
+ "count",
4283
+ "percentage"
4284
+ ],
4285
+ "title": "ErrorDistributionDataPoint",
4286
+ "type": "object"
4287
+ },
4020
4288
  "ErrorResponse": {
4021
4289
  "description": "Generic error response.",
4022
4290
  "properties": {
@@ -4086,15 +4354,14 @@ export const OPENAPI_SCHEMA = {
4086
4354
  "error": {
4087
4355
  "anyOf": [
4088
4356
  {
4089
- "additionalProperties": true,
4090
- "type": "object"
4357
+ "type": "string"
4091
4358
  },
4092
4359
  {
4093
4360
  "type": "null"
4094
4361
  }
4095
4362
  ],
4096
4363
  "default": null,
4097
- "description": "Error details if failed",
4364
+ "description": "Error message if failed",
4098
4365
  "title": "Error"
4099
4366
  },
4100
4367
  "grpc_status_code": {
@@ -4123,15 +4390,14 @@ export const OPENAPI_SCHEMA = {
4123
4390
  "response": {
4124
4391
  "anyOf": [
4125
4392
  {
4126
- "additionalProperties": true,
4127
- "type": "object"
4393
+ "type": "string"
4128
4394
  },
4129
4395
  {
4130
4396
  "type": "null"
4131
4397
  }
4132
4398
  ],
4133
4399
  "default": null,
4134
- "description": "Response data if successful",
4400
+ "description": "Response data if successful (JSON string)",
4135
4401
  "title": "Response"
4136
4402
  },
4137
4403
  "service": {
@@ -4379,6 +4645,45 @@ export const OPENAPI_SCHEMA = {
4379
4645
  "title": "GRPCFrameworkConfigSerializer",
4380
4646
  "type": "object"
4381
4647
  },
4648
+ "GRPCHealthCheck": {
4649
+ "description": "gRPC health check response.",
4650
+ "properties": {
4651
+ "enabled": {
4652
+ "description": "Whether gRPC is enabled",
4653
+ "title": "Enabled",
4654
+ "type": "boolean"
4655
+ },
4656
+ "server_host": {
4657
+ "description": "Configured gRPC server host",
4658
+ "title": "Server Host",
4659
+ "type": "string"
4660
+ },
4661
+ "server_port": {
4662
+ "description": "Configured gRPC server port",
4663
+ "title": "Server Port",
4664
+ "type": "integer"
4665
+ },
4666
+ "status": {
4667
+ "description": "Health status: healthy or unhealthy",
4668
+ "title": "Status",
4669
+ "type": "string"
4670
+ },
4671
+ "timestamp": {
4672
+ "description": "Current timestamp",
4673
+ "title": "Timestamp",
4674
+ "type": "string"
4675
+ }
4676
+ },
4677
+ "required": [
4678
+ "status",
4679
+ "server_host",
4680
+ "server_port",
4681
+ "enabled",
4682
+ "timestamp"
4683
+ ],
4684
+ "title": "GRPCHealthCheckSerializer",
4685
+ "type": "object"
4686
+ },
4382
4687
  "GRPCInterceptorInfoSerializer": {
4383
4688
  "description": "Information about an interceptor.",
4384
4689
  "properties": {
@@ -4400,38 +4705,101 @@ export const OPENAPI_SCHEMA = {
4400
4705
  "title": "GRPCInterceptorInfoSerializer",
4401
4706
  "type": "object"
4402
4707
  },
4403
- "GRPCServerConfigSerializer": {
4404
- "description": "gRPC server configuration details.",
4708
+ "GRPCOverviewStats": {
4709
+ "description": "Overview statistics for gRPC requests.",
4405
4710
  "properties": {
4406
- "enabled": {
4407
- "description": "Whether gRPC server is enabled",
4408
- "title": "Enabled",
4409
- "type": "boolean"
4410
- },
4411
- "host": {
4412
- "description": "Server host address",
4413
- "title": "Host",
4414
- "type": "string"
4415
- },
4416
- "max_concurrent_rpcs": {
4417
- "anyOf": [
4418
- {
4419
- "type": "integer"
4420
- },
4421
- {
4422
- "type": "null"
4423
- }
4424
- ],
4425
- "default": null,
4426
- "description": "Maximum concurrent RPCs",
4427
- "title": "Max Concurrent Rpcs"
4711
+ "avg_duration_ms": {
4712
+ "description": "Average duration in milliseconds",
4713
+ "title": "Avg Duration Ms",
4714
+ "type": "number"
4428
4715
  },
4429
- "max_workers": {
4430
- "description": "Maximum worker threads",
4431
- "title": "Max Workers",
4716
+ "cancelled": {
4717
+ "description": "Cancelled requests",
4718
+ "title": "Cancelled",
4432
4719
  "type": "integer"
4433
4720
  },
4434
- "port": {
4721
+ "errors": {
4722
+ "description": "Error requests",
4723
+ "title": "Errors",
4724
+ "type": "integer"
4725
+ },
4726
+ "p95_duration_ms": {
4727
+ "description": "95th percentile duration in milliseconds",
4728
+ "title": "P95 Duration Ms",
4729
+ "type": "number"
4730
+ },
4731
+ "period_hours": {
4732
+ "description": "Statistics period in hours",
4733
+ "title": "Period Hours",
4734
+ "type": "integer"
4735
+ },
4736
+ "success_rate": {
4737
+ "description": "Success rate percentage",
4738
+ "title": "Success Rate",
4739
+ "type": "number"
4740
+ },
4741
+ "successful": {
4742
+ "description": "Successful requests",
4743
+ "title": "Successful",
4744
+ "type": "integer"
4745
+ },
4746
+ "timeout": {
4747
+ "description": "Timeout requests",
4748
+ "title": "Timeout",
4749
+ "type": "integer"
4750
+ },
4751
+ "total": {
4752
+ "description": "Total requests in period",
4753
+ "title": "Total",
4754
+ "type": "integer"
4755
+ }
4756
+ },
4757
+ "required": [
4758
+ "total",
4759
+ "successful",
4760
+ "errors",
4761
+ "cancelled",
4762
+ "timeout",
4763
+ "success_rate",
4764
+ "avg_duration_ms",
4765
+ "p95_duration_ms",
4766
+ "period_hours"
4767
+ ],
4768
+ "title": "GRPCOverviewStatsSerializer",
4769
+ "type": "object"
4770
+ },
4771
+ "GRPCServerConfigSerializer": {
4772
+ "description": "gRPC server configuration details.",
4773
+ "properties": {
4774
+ "enabled": {
4775
+ "description": "Whether gRPC server is enabled",
4776
+ "title": "Enabled",
4777
+ "type": "boolean"
4778
+ },
4779
+ "host": {
4780
+ "description": "Server host address",
4781
+ "title": "Host",
4782
+ "type": "string"
4783
+ },
4784
+ "max_concurrent_rpcs": {
4785
+ "anyOf": [
4786
+ {
4787
+ "type": "integer"
4788
+ },
4789
+ {
4790
+ "type": "null"
4791
+ }
4792
+ ],
4793
+ "default": null,
4794
+ "description": "Maximum concurrent RPCs",
4795
+ "title": "Max Concurrent Rpcs"
4796
+ },
4797
+ "max_workers": {
4798
+ "description": "Maximum worker threads",
4799
+ "title": "Max Workers",
4800
+ "type": "integer"
4801
+ },
4802
+ "port": {
4435
4803
  "description": "Server port",
4436
4804
  "title": "Port",
4437
4805
  "type": "integer"
@@ -4576,7 +4944,7 @@ export const OPENAPI_SCHEMA = {
4576
4944
  "title": "GRPCStatsSerializer",
4577
4945
  "type": "object"
4578
4946
  },
4579
- "GRPCTestLogSerializer": {
4947
+ "GRPCTestLog": {
4580
4948
  "description": "Single test log entry.",
4581
4949
  "properties": {
4582
4950
  "created_at": {
@@ -4667,41 +5035,6 @@ export const OPENAPI_SCHEMA = {
4667
5035
  "title": "GRPCTestLogSerializer",
4668
5036
  "type": "object"
4669
5037
  },
4670
- "GRPCTestLogs": {
4671
- "description": "List of test logs response.",
4672
- "properties": {
4673
- "count": {
4674
- "description": "Number of logs returned",
4675
- "title": "Count",
4676
- "type": "integer"
4677
- },
4678
- "has_more": {
4679
- "default": false,
4680
- "description": "Whether more logs are available",
4681
- "title": "Has More",
4682
- "type": "boolean"
4683
- },
4684
- "logs": {
4685
- "description": "List of test logs",
4686
- "items": {
4687
- "$ref": "#/components/schemas/GRPCTestLogSerializer"
4688
- },
4689
- "title": "Logs",
4690
- "type": "array"
4691
- },
4692
- "total_available": {
4693
- "description": "Total logs available",
4694
- "title": "Total Available",
4695
- "type": "integer"
4696
- }
4697
- },
4698
- "required": [
4699
- "count",
4700
- "total_available"
4701
- ],
4702
- "title": "GRPCTestLogsSerializer",
4703
- "type": "object"
4704
- },
4705
5038
  "HealthCheck": {
4706
5039
  "description": "Health check response.",
4707
5040
  "properties": {
@@ -5406,6 +5739,58 @@ export const OPENAPI_SCHEMA = {
5406
5739
  "title": "MethodSummarySerializer",
5407
5740
  "type": "object"
5408
5741
  },
5742
+ "MonitoringServiceStatsSerializer": {
5743
+ "description": "Statistics for a single gRPC service (monitoring endpoint).",
5744
+ "properties": {
5745
+ "avg_duration_ms": {
5746
+ "description": "Average duration",
5747
+ "title": "Avg Duration Ms",
5748
+ "type": "number"
5749
+ },
5750
+ "errors": {
5751
+ "description": "Error requests",
5752
+ "title": "Errors",
5753
+ "type": "integer"
5754
+ },
5755
+ "last_activity_at": {
5756
+ "anyOf": [
5757
+ {
5758
+ "type": "string"
5759
+ },
5760
+ {
5761
+ "type": "null"
5762
+ }
5763
+ ],
5764
+ "description": "Last activity timestamp",
5765
+ "title": "Last Activity At"
5766
+ },
5767
+ "service_name": {
5768
+ "description": "Service name",
5769
+ "title": "Service Name",
5770
+ "type": "string"
5771
+ },
5772
+ "successful": {
5773
+ "description": "Successful requests",
5774
+ "title": "Successful",
5775
+ "type": "integer"
5776
+ },
5777
+ "total": {
5778
+ "description": "Total requests",
5779
+ "title": "Total",
5780
+ "type": "integer"
5781
+ }
5782
+ },
5783
+ "required": [
5784
+ "service_name",
5785
+ "total",
5786
+ "successful",
5787
+ "errors",
5788
+ "avg_duration_ms",
5789
+ "last_activity_at"
5790
+ ],
5791
+ "title": "MonitoringServiceStatsSerializer",
5792
+ "type": "object"
5793
+ },
5409
5794
  "Newsletter": {
5410
5795
  "description": "Serializer for Newsletter model.",
5411
5796
  "properties": {
@@ -5752,63 +6137,6 @@ export const OPENAPI_SCHEMA = {
5752
6137
  ],
5753
6138
  "type": "object"
5754
6139
  },
5755
- "OverviewStats": {
5756
- "description": "Overview statistics for Centrifugo publishes.",
5757
- "properties": {
5758
- "avg_acks_received": {
5759
- "description": "Average ACKs received",
5760
- "title": "Avg Acks Received",
5761
- "type": "number"
5762
- },
5763
- "avg_duration_ms": {
5764
- "description": "Average duration in milliseconds",
5765
- "title": "Avg Duration Ms",
5766
- "type": "number"
5767
- },
5768
- "failed": {
5769
- "description": "Failed publishes",
5770
- "title": "Failed",
5771
- "type": "integer"
5772
- },
5773
- "period_hours": {
5774
- "description": "Statistics period in hours",
5775
- "title": "Period Hours",
5776
- "type": "integer"
5777
- },
5778
- "success_rate": {
5779
- "description": "Success rate percentage",
5780
- "title": "Success Rate",
5781
- "type": "number"
5782
- },
5783
- "successful": {
5784
- "description": "Successful publishes",
5785
- "title": "Successful",
5786
- "type": "integer"
5787
- },
5788
- "timeout": {
5789
- "description": "Timeout publishes",
5790
- "title": "Timeout",
5791
- "type": "integer"
5792
- },
5793
- "total": {
5794
- "description": "Total publishes in period",
5795
- "title": "Total",
5796
- "type": "integer"
5797
- }
5798
- },
5799
- "required": [
5800
- "total",
5801
- "successful",
5802
- "failed",
5803
- "timeout",
5804
- "success_rate",
5805
- "avg_duration_ms",
5806
- "avg_acks_received",
5807
- "period_hours"
5808
- ],
5809
- "title": "OverviewStatsSerializer",
5810
- "type": "object"
5811
- },
5812
6140
  "PaginatedArchiveItemChunkList": {
5813
6141
  "properties": {
5814
6142
  "count": {
@@ -8050,65 +8378,91 @@ export const OPENAPI_SCHEMA = {
8050
8378
  "title": "RecentPublishesSerializer",
8051
8379
  "type": "object"
8052
8380
  },
8053
- "RecentRequests": {
8054
- "description": "Recent gRPC requests list.",
8381
+ "RecentRequest": {
8382
+ "description": "Recent request information.",
8055
8383
  "properties": {
8056
- "count": {
8057
- "description": "Number of requests returned",
8058
- "title": "Count",
8059
- "type": "integer"
8384
+ "client_ip": {
8385
+ "default": "",
8386
+ "description": "Client IP address",
8387
+ "title": "Client Ip",
8388
+ "type": "string"
8060
8389
  },
8061
- "has_more": {
8062
- "default": false,
8063
- "description": "Whether more results are available",
8064
- "title": "Has More",
8065
- "type": "boolean"
8390
+ "created_at": {
8391
+ "description": "Request timestamp",
8392
+ "title": "Created At",
8393
+ "type": "string"
8066
8394
  },
8067
- "offset": {
8395
+ "duration_ms": {
8068
8396
  "default": 0,
8069
- "description": "Current offset for pagination",
8070
- "title": "Offset",
8397
+ "description": "Duration in milliseconds",
8398
+ "title": "Duration Ms",
8071
8399
  "type": "integer"
8072
8400
  },
8073
- "requests": {
8074
- "description": "List of recent requests",
8075
- "items": {
8076
- "additionalProperties": true,
8077
- "type": "object"
8078
- },
8079
- "title": "Requests",
8080
- "type": "array"
8081
- },
8082
- "total_available": {
8083
- "description": "Total requests available",
8084
- "title": "Total Available",
8085
- "type": "integer"
8086
- }
8087
- },
8088
- "required": [
8089
- "requests",
8090
- "count",
8091
- "total_available"
8092
- ],
8093
- "title": "RecentRequestsSerializer",
8094
- "type": "object"
8095
- },
8096
- "RecentUser": {
8097
- "description": "Recent user serializer.",
8098
- "properties": {
8099
- "date_joined": {
8401
+ "error_message": {
8402
+ "default": "",
8403
+ "description": "Error message if failed",
8404
+ "title": "Error Message",
8100
8405
  "type": "string"
8101
8406
  },
8102
- "email": {
8103
- "format": "email",
8407
+ "grpc_status_code": {
8408
+ "default": "",
8409
+ "description": "gRPC status code",
8410
+ "title": "Grpc Status Code",
8104
8411
  "type": "string"
8105
8412
  },
8106
8413
  "id": {
8414
+ "description": "Database ID",
8415
+ "title": "Id",
8107
8416
  "type": "integer"
8108
8417
  },
8109
- "is_active": {
8110
- "type": "boolean"
8111
- },
8418
+ "method_name": {
8419
+ "description": "Method name",
8420
+ "title": "Method Name",
8421
+ "type": "string"
8422
+ },
8423
+ "request_id": {
8424
+ "description": "Request ID",
8425
+ "title": "Request Id",
8426
+ "type": "string"
8427
+ },
8428
+ "service_name": {
8429
+ "description": "Service name",
8430
+ "title": "Service Name",
8431
+ "type": "string"
8432
+ },
8433
+ "status": {
8434
+ "description": "Request status",
8435
+ "title": "Status",
8436
+ "type": "string"
8437
+ }
8438
+ },
8439
+ "required": [
8440
+ "id",
8441
+ "request_id",
8442
+ "service_name",
8443
+ "method_name",
8444
+ "status",
8445
+ "created_at"
8446
+ ],
8447
+ "title": "RecentRequestSerializer",
8448
+ "type": "object"
8449
+ },
8450
+ "RecentUser": {
8451
+ "description": "Recent user serializer.",
8452
+ "properties": {
8453
+ "date_joined": {
8454
+ "type": "string"
8455
+ },
8456
+ "email": {
8457
+ "format": "email",
8458
+ "type": "string"
8459
+ },
8460
+ "id": {
8461
+ "type": "integer"
8462
+ },
8463
+ "is_active": {
8464
+ "type": "boolean"
8465
+ },
8112
8466
  "is_staff": {
8113
8467
  "type": "boolean"
8114
8468
  },
@@ -8186,6 +8540,284 @@ export const OPENAPI_SCHEMA = {
8186
8540
  },
8187
8541
  "type": "object"
8188
8542
  },
8543
+ "RequestVolumeChart": {
8544
+ "description": "Request volume over time chart data.",
8545
+ "properties": {
8546
+ "avg_success_rate": {
8547
+ "description": "Average success rate",
8548
+ "title": "Avg Success Rate",
8549
+ "type": "number"
8550
+ },
8551
+ "data_points": {
8552
+ "description": "Volume data points",
8553
+ "items": {
8554
+ "$ref": "#/components/schemas/RequestVolumeDataPoint"
8555
+ },
8556
+ "title": "Data Points",
8557
+ "type": "array"
8558
+ },
8559
+ "granularity": {
8560
+ "description": "Data granularity",
8561
+ "title": "Granularity",
8562
+ "type": "string"
8563
+ },
8564
+ "period_hours": {
8565
+ "description": "Period in hours",
8566
+ "title": "Period Hours",
8567
+ "type": "integer"
8568
+ },
8569
+ "title": {
8570
+ "default": "Request Volume",
8571
+ "description": "Chart title",
8572
+ "title": "Title",
8573
+ "type": "string"
8574
+ },
8575
+ "total_requests": {
8576
+ "description": "Total requests in period",
8577
+ "title": "Total Requests",
8578
+ "type": "integer"
8579
+ }
8580
+ },
8581
+ "required": [
8582
+ "period_hours",
8583
+ "granularity",
8584
+ "total_requests",
8585
+ "avg_success_rate"
8586
+ ],
8587
+ "title": "RequestVolumeChartSerializer",
8588
+ "type": "object"
8589
+ },
8590
+ "RequestVolumeChartSerializer": {
8591
+ "description": "Request volume over time chart data.",
8592
+ "properties": {
8593
+ "avg_success_rate": {
8594
+ "description": "Average success rate",
8595
+ "title": "Avg Success Rate",
8596
+ "type": "number"
8597
+ },
8598
+ "data_points": {
8599
+ "description": "Volume data points",
8600
+ "items": {
8601
+ "$ref": "#/components/schemas/RequestVolumeDataPoint"
8602
+ },
8603
+ "title": "Data Points",
8604
+ "type": "array"
8605
+ },
8606
+ "granularity": {
8607
+ "description": "Data granularity",
8608
+ "title": "Granularity",
8609
+ "type": "string"
8610
+ },
8611
+ "period_hours": {
8612
+ "description": "Period in hours",
8613
+ "title": "Period Hours",
8614
+ "type": "integer"
8615
+ },
8616
+ "title": {
8617
+ "default": "Request Volume",
8618
+ "description": "Chart title",
8619
+ "title": "Title",
8620
+ "type": "string"
8621
+ },
8622
+ "total_requests": {
8623
+ "description": "Total requests in period",
8624
+ "title": "Total Requests",
8625
+ "type": "integer"
8626
+ }
8627
+ },
8628
+ "required": [
8629
+ "period_hours",
8630
+ "granularity",
8631
+ "total_requests",
8632
+ "avg_success_rate"
8633
+ ],
8634
+ "title": "RequestVolumeChartSerializer",
8635
+ "type": "object"
8636
+ },
8637
+ "RequestVolumeDataPoint": {
8638
+ "description": "Request volume data point.",
8639
+ "properties": {
8640
+ "failed_requests": {
8641
+ "description": "Failed requests",
8642
+ "title": "Failed Requests",
8643
+ "type": "integer"
8644
+ },
8645
+ "success_rate": {
8646
+ "description": "Success rate percentage",
8647
+ "title": "Success Rate",
8648
+ "type": "number"
8649
+ },
8650
+ "successful_requests": {
8651
+ "description": "Successful requests",
8652
+ "title": "Successful Requests",
8653
+ "type": "integer"
8654
+ },
8655
+ "timestamp": {
8656
+ "description": "ISO timestamp",
8657
+ "title": "Timestamp",
8658
+ "type": "string"
8659
+ },
8660
+ "total_requests": {
8661
+ "description": "Total requests in period",
8662
+ "title": "Total Requests",
8663
+ "type": "integer"
8664
+ }
8665
+ },
8666
+ "required": [
8667
+ "timestamp",
8668
+ "total_requests",
8669
+ "successful_requests",
8670
+ "failed_requests",
8671
+ "success_rate"
8672
+ ],
8673
+ "title": "RequestVolumeDataPoint",
8674
+ "type": "object"
8675
+ },
8676
+ "ResponseTimeChart": {
8677
+ "description": "Response time over time chart data.",
8678
+ "properties": {
8679
+ "data_points": {
8680
+ "description": "Response time data points",
8681
+ "items": {
8682
+ "$ref": "#/components/schemas/ResponseTimeDataPoint"
8683
+ },
8684
+ "title": "Data Points",
8685
+ "type": "array"
8686
+ },
8687
+ "granularity": {
8688
+ "description": "Data granularity",
8689
+ "title": "Granularity",
8690
+ "type": "string"
8691
+ },
8692
+ "overall_avg_ms": {
8693
+ "description": "Overall average duration",
8694
+ "title": "Overall Avg Ms",
8695
+ "type": "number"
8696
+ },
8697
+ "overall_p95_ms": {
8698
+ "description": "Overall P95 duration",
8699
+ "title": "Overall P95 Ms",
8700
+ "type": "number"
8701
+ },
8702
+ "period_hours": {
8703
+ "description": "Period in hours",
8704
+ "title": "Period Hours",
8705
+ "type": "integer"
8706
+ },
8707
+ "title": {
8708
+ "default": "Response Time",
8709
+ "description": "Chart title",
8710
+ "title": "Title",
8711
+ "type": "string"
8712
+ }
8713
+ },
8714
+ "required": [
8715
+ "period_hours",
8716
+ "granularity",
8717
+ "overall_avg_ms",
8718
+ "overall_p95_ms"
8719
+ ],
8720
+ "title": "ResponseTimeChartSerializer",
8721
+ "type": "object"
8722
+ },
8723
+ "ResponseTimeChartSerializer": {
8724
+ "description": "Response time over time chart data.",
8725
+ "properties": {
8726
+ "data_points": {
8727
+ "description": "Response time data points",
8728
+ "items": {
8729
+ "$ref": "#/components/schemas/ResponseTimeDataPoint"
8730
+ },
8731
+ "title": "Data Points",
8732
+ "type": "array"
8733
+ },
8734
+ "granularity": {
8735
+ "description": "Data granularity",
8736
+ "title": "Granularity",
8737
+ "type": "string"
8738
+ },
8739
+ "overall_avg_ms": {
8740
+ "description": "Overall average duration",
8741
+ "title": "Overall Avg Ms",
8742
+ "type": "number"
8743
+ },
8744
+ "overall_p95_ms": {
8745
+ "description": "Overall P95 duration",
8746
+ "title": "Overall P95 Ms",
8747
+ "type": "number"
8748
+ },
8749
+ "period_hours": {
8750
+ "description": "Period in hours",
8751
+ "title": "Period Hours",
8752
+ "type": "integer"
8753
+ },
8754
+ "title": {
8755
+ "default": "Response Time",
8756
+ "description": "Chart title",
8757
+ "title": "Title",
8758
+ "type": "string"
8759
+ }
8760
+ },
8761
+ "required": [
8762
+ "period_hours",
8763
+ "granularity",
8764
+ "overall_avg_ms",
8765
+ "overall_p95_ms"
8766
+ ],
8767
+ "title": "ResponseTimeChartSerializer",
8768
+ "type": "object"
8769
+ },
8770
+ "ResponseTimeDataPoint": {
8771
+ "description": "Response time statistics data point.",
8772
+ "properties": {
8773
+ "avg_duration_ms": {
8774
+ "description": "Average duration",
8775
+ "title": "Avg Duration Ms",
8776
+ "type": "number"
8777
+ },
8778
+ "max_duration_ms": {
8779
+ "description": "Maximum duration",
8780
+ "title": "Max Duration Ms",
8781
+ "type": "number"
8782
+ },
8783
+ "min_duration_ms": {
8784
+ "description": "Minimum duration",
8785
+ "title": "Min Duration Ms",
8786
+ "type": "number"
8787
+ },
8788
+ "p50_duration_ms": {
8789
+ "description": "P50 percentile",
8790
+ "title": "P50 Duration Ms",
8791
+ "type": "number"
8792
+ },
8793
+ "p95_duration_ms": {
8794
+ "description": "P95 percentile",
8795
+ "title": "P95 Duration Ms",
8796
+ "type": "number"
8797
+ },
8798
+ "p99_duration_ms": {
8799
+ "description": "P99 percentile",
8800
+ "title": "P99 Duration Ms",
8801
+ "type": "number"
8802
+ },
8803
+ "timestamp": {
8804
+ "description": "ISO timestamp",
8805
+ "title": "Timestamp",
8806
+ "type": "string"
8807
+ }
8808
+ },
8809
+ "required": [
8810
+ "timestamp",
8811
+ "avg_duration_ms",
8812
+ "p50_duration_ms",
8813
+ "p95_duration_ms",
8814
+ "p99_duration_ms",
8815
+ "min_duration_ms",
8816
+ "max_duration_ms"
8817
+ ],
8818
+ "title": "ResponseTimeDataPoint",
8819
+ "type": "object"
8820
+ },
8189
8821
  "RunDemoRequestRequest": {
8190
8822
  "description": "Serializer for running demo tasks.",
8191
8823
  "properties": {
@@ -8492,6 +9124,364 @@ export const OPENAPI_SCHEMA = {
8492
9124
  ],
8493
9125
  "type": "object"
8494
9126
  },
9127
+ "ServerLifecycleChart": {
9128
+ "description": "Server lifecycle events timeline.",
9129
+ "properties": {
9130
+ "error_count": {
9131
+ "description": "Number of error events",
9132
+ "title": "Error Count",
9133
+ "type": "integer"
9134
+ },
9135
+ "events": {
9136
+ "description": "Lifecycle events",
9137
+ "items": {
9138
+ "$ref": "#/components/schemas/ServerLifecycleEvent"
9139
+ },
9140
+ "title": "Events",
9141
+ "type": "array"
9142
+ },
9143
+ "period_hours": {
9144
+ "description": "Period in hours",
9145
+ "title": "Period Hours",
9146
+ "type": "integer"
9147
+ },
9148
+ "restart_count": {
9149
+ "description": "Number of server restarts",
9150
+ "title": "Restart Count",
9151
+ "type": "integer"
9152
+ },
9153
+ "title": {
9154
+ "default": "Server Lifecycle",
9155
+ "description": "Chart title",
9156
+ "title": "Title",
9157
+ "type": "string"
9158
+ },
9159
+ "total_events": {
9160
+ "description": "Total number of events",
9161
+ "title": "Total Events",
9162
+ "type": "integer"
9163
+ }
9164
+ },
9165
+ "required": [
9166
+ "period_hours",
9167
+ "total_events",
9168
+ "restart_count",
9169
+ "error_count"
9170
+ ],
9171
+ "title": "ServerLifecycleChartSerializer",
9172
+ "type": "object"
9173
+ },
9174
+ "ServerLifecycleEvent": {
9175
+ "description": "Server lifecycle event.",
9176
+ "properties": {
9177
+ "error_message": {
9178
+ "anyOf": [
9179
+ {
9180
+ "type": "string"
9181
+ },
9182
+ {
9183
+ "type": "null"
9184
+ }
9185
+ ],
9186
+ "default": null,
9187
+ "description": "Error message if applicable",
9188
+ "title": "Error Message"
9189
+ },
9190
+ "event_type": {
9191
+ "description": "Event type (started, stopped, error)",
9192
+ "title": "Event Type",
9193
+ "type": "string"
9194
+ },
9195
+ "server_address": {
9196
+ "description": "Server address",
9197
+ "title": "Server Address",
9198
+ "type": "string"
9199
+ },
9200
+ "server_pid": {
9201
+ "description": "Server process ID",
9202
+ "title": "Server Pid",
9203
+ "type": "integer"
9204
+ },
9205
+ "timestamp": {
9206
+ "description": "Event timestamp",
9207
+ "title": "Timestamp",
9208
+ "type": "string"
9209
+ },
9210
+ "uptime_seconds": {
9211
+ "anyOf": [
9212
+ {
9213
+ "type": "integer"
9214
+ },
9215
+ {
9216
+ "type": "null"
9217
+ }
9218
+ ],
9219
+ "default": null,
9220
+ "description": "Uptime at event time (for stop events)",
9221
+ "title": "Uptime Seconds"
9222
+ }
9223
+ },
9224
+ "required": [
9225
+ "timestamp",
9226
+ "event_type",
9227
+ "server_address",
9228
+ "server_pid"
9229
+ ],
9230
+ "title": "ServerLifecycleEvent",
9231
+ "type": "object"
9232
+ },
9233
+ "ServerUptimeChart": {
9234
+ "description": "Server uptime over time chart data.",
9235
+ "properties": {
9236
+ "currently_running": {
9237
+ "description": "Currently running servers",
9238
+ "title": "Currently Running",
9239
+ "type": "integer"
9240
+ },
9241
+ "data_points": {
9242
+ "description": "Uptime data points",
9243
+ "items": {
9244
+ "$ref": "#/components/schemas/ServerUptimeDataPoint"
9245
+ },
9246
+ "title": "Data Points",
9247
+ "type": "array"
9248
+ },
9249
+ "granularity": {
9250
+ "description": "Data granularity",
9251
+ "title": "Granularity",
9252
+ "type": "string"
9253
+ },
9254
+ "period_hours": {
9255
+ "description": "Period in hours",
9256
+ "title": "Period Hours",
9257
+ "type": "integer"
9258
+ },
9259
+ "title": {
9260
+ "default": "Server Uptime",
9261
+ "description": "Chart title",
9262
+ "title": "Title",
9263
+ "type": "string"
9264
+ },
9265
+ "total_servers": {
9266
+ "description": "Total unique servers in period",
9267
+ "title": "Total Servers",
9268
+ "type": "integer"
9269
+ }
9270
+ },
9271
+ "required": [
9272
+ "period_hours",
9273
+ "granularity",
9274
+ "total_servers",
9275
+ "currently_running"
9276
+ ],
9277
+ "title": "ServerUptimeChartSerializer",
9278
+ "type": "object"
9279
+ },
9280
+ "ServerUptimeChartSerializer": {
9281
+ "description": "Server uptime over time chart data.",
9282
+ "properties": {
9283
+ "currently_running": {
9284
+ "description": "Currently running servers",
9285
+ "title": "Currently Running",
9286
+ "type": "integer"
9287
+ },
9288
+ "data_points": {
9289
+ "description": "Uptime data points",
9290
+ "items": {
9291
+ "$ref": "#/components/schemas/ServerUptimeDataPoint"
9292
+ },
9293
+ "title": "Data Points",
9294
+ "type": "array"
9295
+ },
9296
+ "granularity": {
9297
+ "description": "Data granularity",
9298
+ "title": "Granularity",
9299
+ "type": "string"
9300
+ },
9301
+ "period_hours": {
9302
+ "description": "Period in hours",
9303
+ "title": "Period Hours",
9304
+ "type": "integer"
9305
+ },
9306
+ "title": {
9307
+ "default": "Server Uptime",
9308
+ "description": "Chart title",
9309
+ "title": "Title",
9310
+ "type": "string"
9311
+ },
9312
+ "total_servers": {
9313
+ "description": "Total unique servers in period",
9314
+ "title": "Total Servers",
9315
+ "type": "integer"
9316
+ }
9317
+ },
9318
+ "required": [
9319
+ "period_hours",
9320
+ "granularity",
9321
+ "total_servers",
9322
+ "currently_running"
9323
+ ],
9324
+ "title": "ServerUptimeChartSerializer",
9325
+ "type": "object"
9326
+ },
9327
+ "ServerUptimeDataPoint": {
9328
+ "description": "Server uptime data point.",
9329
+ "properties": {
9330
+ "server_count": {
9331
+ "description": "Number of running servers",
9332
+ "title": "Server Count",
9333
+ "type": "integer"
9334
+ },
9335
+ "servers": {
9336
+ "description": "List of server addresses",
9337
+ "items": {
9338
+ "type": "string"
9339
+ },
9340
+ "title": "Servers",
9341
+ "type": "array"
9342
+ },
9343
+ "timestamp": {
9344
+ "description": "ISO timestamp",
9345
+ "title": "Timestamp",
9346
+ "type": "string"
9347
+ }
9348
+ },
9349
+ "required": [
9350
+ "timestamp",
9351
+ "server_count"
9352
+ ],
9353
+ "title": "ServerUptimeDataPoint",
9354
+ "type": "object"
9355
+ },
9356
+ "ServiceActivityChart": {
9357
+ "description": "Service activity comparison chart data.",
9358
+ "properties": {
9359
+ "most_active_service": {
9360
+ "anyOf": [
9361
+ {
9362
+ "type": "string"
9363
+ },
9364
+ {
9365
+ "type": "null"
9366
+ }
9367
+ ],
9368
+ "default": null,
9369
+ "description": "Most active service name",
9370
+ "title": "Most Active Service"
9371
+ },
9372
+ "period_hours": {
9373
+ "description": "Period in hours",
9374
+ "title": "Period Hours",
9375
+ "type": "integer"
9376
+ },
9377
+ "services": {
9378
+ "description": "Service activity data",
9379
+ "items": {
9380
+ "$ref": "#/components/schemas/ServiceActivityDataPoint"
9381
+ },
9382
+ "title": "Services",
9383
+ "type": "array"
9384
+ },
9385
+ "title": {
9386
+ "default": "Service Activity",
9387
+ "description": "Chart title",
9388
+ "title": "Title",
9389
+ "type": "string"
9390
+ },
9391
+ "total_services": {
9392
+ "description": "Total number of services",
9393
+ "title": "Total Services",
9394
+ "type": "integer"
9395
+ }
9396
+ },
9397
+ "required": [
9398
+ "period_hours",
9399
+ "total_services"
9400
+ ],
9401
+ "title": "ServiceActivityChartSerializer",
9402
+ "type": "object"
9403
+ },
9404
+ "ServiceActivityChartSerializer": {
9405
+ "description": "Service activity comparison chart data.",
9406
+ "properties": {
9407
+ "most_active_service": {
9408
+ "anyOf": [
9409
+ {
9410
+ "type": "string"
9411
+ },
9412
+ {
9413
+ "type": "null"
9414
+ }
9415
+ ],
9416
+ "default": null,
9417
+ "description": "Most active service name",
9418
+ "title": "Most Active Service"
9419
+ },
9420
+ "period_hours": {
9421
+ "description": "Period in hours",
9422
+ "title": "Period Hours",
9423
+ "type": "integer"
9424
+ },
9425
+ "services": {
9426
+ "description": "Service activity data",
9427
+ "items": {
9428
+ "$ref": "#/components/schemas/ServiceActivityDataPoint"
9429
+ },
9430
+ "title": "Services",
9431
+ "type": "array"
9432
+ },
9433
+ "title": {
9434
+ "default": "Service Activity",
9435
+ "description": "Chart title",
9436
+ "title": "Title",
9437
+ "type": "string"
9438
+ },
9439
+ "total_services": {
9440
+ "description": "Total number of services",
9441
+ "title": "Total Services",
9442
+ "type": "integer"
9443
+ }
9444
+ },
9445
+ "required": [
9446
+ "period_hours",
9447
+ "total_services"
9448
+ ],
9449
+ "title": "ServiceActivityChartSerializer",
9450
+ "type": "object"
9451
+ },
9452
+ "ServiceActivityDataPoint": {
9453
+ "description": "Service activity data point.",
9454
+ "properties": {
9455
+ "avg_duration_ms": {
9456
+ "description": "Average duration",
9457
+ "title": "Avg Duration Ms",
9458
+ "type": "number"
9459
+ },
9460
+ "request_count": {
9461
+ "description": "Number of requests",
9462
+ "title": "Request Count",
9463
+ "type": "integer"
9464
+ },
9465
+ "service_name": {
9466
+ "description": "Service name",
9467
+ "title": "Service Name",
9468
+ "type": "string"
9469
+ },
9470
+ "success_rate": {
9471
+ "description": "Success rate percentage",
9472
+ "title": "Success Rate",
9473
+ "type": "number"
9474
+ }
9475
+ },
9476
+ "required": [
9477
+ "service_name",
9478
+ "request_count",
9479
+ "success_rate",
9480
+ "avg_duration_ms"
9481
+ ],
9482
+ "title": "ServiceActivityDataPoint",
9483
+ "type": "object"
9484
+ },
8495
9485
  "ServiceDetail": {
8496
9486
  "description": "Detailed information about a service.",
8497
9487
  "properties": {
@@ -8570,7 +9560,7 @@ export const OPENAPI_SCHEMA = {
8570
9560
  "services": {
8571
9561
  "description": "Service statistics",
8572
9562
  "items": {
8573
- "$ref": "#/components/schemas/ServiceStatsSerializer"
9563
+ "$ref": "#/components/schemas/MonitoringServiceStatsSerializer"
8574
9564
  },
8575
9565
  "title": "Services",
8576
9566
  "type": "array"
@@ -8618,54 +9608,45 @@ export const OPENAPI_SCHEMA = {
8618
9608
  "type": "object"
8619
9609
  },
8620
9610
  "ServiceStatsSerializer": {
8621
- "description": "Statistics for a single gRPC service.",
9611
+ "description": "Service statistics.",
8622
9612
  "properties": {
8623
9613
  "avg_duration_ms": {
8624
- "description": "Average duration",
9614
+ "default": 0.0,
9615
+ "description": "Average duration in milliseconds",
8625
9616
  "title": "Avg Duration Ms",
8626
9617
  "type": "number"
8627
9618
  },
8628
9619
  "errors": {
8629
- "description": "Error requests",
9620
+ "default": 0,
9621
+ "description": "Failed requests",
8630
9622
  "title": "Errors",
8631
9623
  "type": "integer"
8632
9624
  },
8633
- "last_activity_at": {
8634
- "anyOf": [
8635
- {
8636
- "type": "string"
8637
- },
8638
- {
8639
- "type": "null"
8640
- }
8641
- ],
8642
- "description": "Last activity timestamp",
8643
- "title": "Last Activity At"
9625
+ "last_24h_requests": {
9626
+ "default": 0,
9627
+ "description": "Requests in last 24 hours",
9628
+ "title": "Last 24H Requests",
9629
+ "type": "integer"
8644
9630
  },
8645
- "service_name": {
8646
- "description": "Service name",
8647
- "title": "Service Name",
8648
- "type": "string"
9631
+ "success_rate": {
9632
+ "default": 0.0,
9633
+ "description": "Success rate percentage",
9634
+ "title": "Success Rate",
9635
+ "type": "number"
8649
9636
  },
8650
9637
  "successful": {
9638
+ "default": 0,
8651
9639
  "description": "Successful requests",
8652
9640
  "title": "Successful",
8653
9641
  "type": "integer"
8654
9642
  },
8655
- "total": {
9643
+ "total_requests": {
9644
+ "default": 0,
8656
9645
  "description": "Total requests",
8657
- "title": "Total",
9646
+ "title": "Total Requests",
8658
9647
  "type": "integer"
8659
9648
  }
8660
9649
  },
8661
- "required": [
8662
- "service_name",
8663
- "total",
8664
- "successful",
8665
- "errors",
8666
- "avg_duration_ms",
8667
- "last_activity_at"
8668
- ],
8669
9650
  "title": "ServiceStatsSerializer",
8670
9651
  "type": "object"
8671
9652
  },
@@ -10449,7 +11430,7 @@ export const OPENAPI_SCHEMA = {
10449
11430
  "content": {
10450
11431
  "application/json": {
10451
11432
  "schema": {
10452
- "$ref": "#/components/schemas/OverviewStats"
11433
+ "$ref": "#/components/schemas/CentrifugoOverviewStats"
10453
11434
  }
10454
11435
  }
10455
11436
  },
@@ -11792,7 +12773,254 @@ export const OPENAPI_SCHEMA = {
11792
12773
  "content": {
11793
12774
  "application/json": {
11794
12775
  "schema": {
11795
- "$ref": "#/components/schemas/DashboardOverview"
12776
+ "$ref": "#/components/schemas/DashboardOverview"
12777
+ }
12778
+ }
12779
+ },
12780
+ "description": ""
12781
+ }
12782
+ },
12783
+ "security": [
12784
+ {
12785
+ "jwtAuth": []
12786
+ },
12787
+ {
12788
+ "cookieAuth": []
12789
+ },
12790
+ {
12791
+ "basicAuth": []
12792
+ }
12793
+ ],
12794
+ "summary": "Get dashboard overview",
12795
+ "tags": [
12796
+ "Dashboard - Overview"
12797
+ ],
12798
+ "x-async-capable": false
12799
+ }
12800
+ },
12801
+ "/cfg/dashboard/api/statistics/apps/": {
12802
+ "get": {
12803
+ "description": "Retrieve statistics for all enabled django-cfg applications",
12804
+ "operationId": "cfg_dashboard_api_statistics_apps_list",
12805
+ "responses": {
12806
+ "200": {
12807
+ "content": {
12808
+ "application/json": {
12809
+ "schema": {
12810
+ "items": {
12811
+ "$ref": "#/components/schemas/AppStatistics"
12812
+ },
12813
+ "type": "array"
12814
+ }
12815
+ }
12816
+ },
12817
+ "description": ""
12818
+ }
12819
+ },
12820
+ "security": [
12821
+ {
12822
+ "jwtAuth": []
12823
+ },
12824
+ {
12825
+ "cookieAuth": []
12826
+ },
12827
+ {
12828
+ "basicAuth": []
12829
+ }
12830
+ ],
12831
+ "summary": "Get application statistics",
12832
+ "tags": [
12833
+ "Dashboard - Statistics"
12834
+ ],
12835
+ "x-async-capable": false
12836
+ }
12837
+ },
12838
+ "/cfg/dashboard/api/statistics/cards/": {
12839
+ "get": {
12840
+ "description": "Retrieve dashboard statistics cards with key metrics",
12841
+ "operationId": "cfg_dashboard_api_statistics_cards_list",
12842
+ "responses": {
12843
+ "200": {
12844
+ "content": {
12845
+ "application/json": {
12846
+ "schema": {
12847
+ "items": {
12848
+ "$ref": "#/components/schemas/StatCard"
12849
+ },
12850
+ "type": "array"
12851
+ }
12852
+ }
12853
+ },
12854
+ "description": ""
12855
+ }
12856
+ },
12857
+ "security": [
12858
+ {
12859
+ "jwtAuth": []
12860
+ },
12861
+ {
12862
+ "cookieAuth": []
12863
+ },
12864
+ {
12865
+ "basicAuth": []
12866
+ }
12867
+ ],
12868
+ "summary": "Get statistics cards",
12869
+ "tags": [
12870
+ "Dashboard - Statistics"
12871
+ ],
12872
+ "x-async-capable": false
12873
+ }
12874
+ },
12875
+ "/cfg/dashboard/api/statistics/users/": {
12876
+ "get": {
12877
+ "description": "Retrieve user-related statistics",
12878
+ "operationId": "cfg_dashboard_api_statistics_users_retrieve",
12879
+ "responses": {
12880
+ "200": {
12881
+ "content": {
12882
+ "application/json": {
12883
+ "schema": {
12884
+ "$ref": "#/components/schemas/UserStatistics"
12885
+ }
12886
+ }
12887
+ },
12888
+ "description": ""
12889
+ }
12890
+ },
12891
+ "security": [
12892
+ {
12893
+ "jwtAuth": []
12894
+ },
12895
+ {
12896
+ "cookieAuth": []
12897
+ },
12898
+ {
12899
+ "basicAuth": []
12900
+ }
12901
+ ],
12902
+ "summary": "Get user statistics",
12903
+ "tags": [
12904
+ "Dashboard - Statistics"
12905
+ ],
12906
+ "x-async-capable": false
12907
+ }
12908
+ },
12909
+ "/cfg/dashboard/api/system/health/": {
12910
+ "get": {
12911
+ "description": "Retrieve overall system health including all component checks",
12912
+ "operationId": "cfg_dashboard_api_system_health_retrieve",
12913
+ "responses": {
12914
+ "200": {
12915
+ "content": {
12916
+ "application/json": {
12917
+ "schema": {
12918
+ "$ref": "#/components/schemas/SystemHealth"
12919
+ }
12920
+ }
12921
+ },
12922
+ "description": ""
12923
+ }
12924
+ },
12925
+ "security": [
12926
+ {
12927
+ "jwtAuth": []
12928
+ },
12929
+ {
12930
+ "cookieAuth": []
12931
+ },
12932
+ {
12933
+ "basicAuth": []
12934
+ }
12935
+ ],
12936
+ "summary": "Get system health status",
12937
+ "tags": [
12938
+ "Dashboard - System"
12939
+ ],
12940
+ "x-async-capable": false
12941
+ }
12942
+ },
12943
+ "/cfg/dashboard/api/system/metrics/": {
12944
+ "get": {
12945
+ "description": "Retrieve system performance metrics (CPU, memory, disk, etc.)",
12946
+ "operationId": "cfg_dashboard_api_system_metrics_retrieve",
12947
+ "responses": {
12948
+ "200": {
12949
+ "content": {
12950
+ "application/json": {
12951
+ "schema": {
12952
+ "$ref": "#/components/schemas/SystemMetrics"
12953
+ }
12954
+ }
12955
+ },
12956
+ "description": ""
12957
+ }
12958
+ },
12959
+ "security": [
12960
+ {
12961
+ "jwtAuth": []
12962
+ },
12963
+ {
12964
+ "cookieAuth": []
12965
+ },
12966
+ {
12967
+ "basicAuth": []
12968
+ }
12969
+ ],
12970
+ "summary": "Get system metrics",
12971
+ "tags": [
12972
+ "Dashboard - System"
12973
+ ],
12974
+ "x-async-capable": false
12975
+ }
12976
+ },
12977
+ "/cfg/dashboard/api/zones/": {
12978
+ "get": {
12979
+ "description": "Retrieve all OpenAPI zones/groups with their configuration",
12980
+ "operationId": "cfg_dashboard_api_zones_list",
12981
+ "responses": {
12982
+ "200": {
12983
+ "content": {
12984
+ "application/json": {
12985
+ "schema": {
12986
+ "items": {
12987
+ "$ref": "#/components/schemas/APIZone"
12988
+ },
12989
+ "type": "array"
12990
+ }
12991
+ }
12992
+ },
12993
+ "description": ""
12994
+ }
12995
+ },
12996
+ "security": [
12997
+ {
12998
+ "jwtAuth": []
12999
+ },
13000
+ {
13001
+ "cookieAuth": []
13002
+ },
13003
+ {
13004
+ "basicAuth": []
13005
+ }
13006
+ ],
13007
+ "summary": "Get all API zones",
13008
+ "tags": [
13009
+ "Dashboard - API Zones"
13010
+ ],
13011
+ "x-async-capable": false
13012
+ }
13013
+ },
13014
+ "/cfg/dashboard/api/zones/summary/": {
13015
+ "get": {
13016
+ "description": "Retrieve zones summary with statistics",
13017
+ "operationId": "cfg_dashboard_api_zones_summary_retrieve",
13018
+ "responses": {
13019
+ "200": {
13020
+ "content": {
13021
+ "application/json": {
13022
+ "schema": {
13023
+ "$ref": "#/components/schemas/APIZonesSummary"
11796
13024
  }
11797
13025
  }
11798
13026
  },
@@ -11810,26 +13038,23 @@ export const OPENAPI_SCHEMA = {
11810
13038
  "basicAuth": []
11811
13039
  }
11812
13040
  ],
11813
- "summary": "Get dashboard overview",
13041
+ "summary": "Get zones summary",
11814
13042
  "tags": [
11815
- "Dashboard - Overview"
13043
+ "Dashboard - API Zones"
11816
13044
  ],
11817
13045
  "x-async-capable": false
11818
13046
  }
11819
13047
  },
11820
- "/cfg/dashboard/api/statistics/apps/": {
13048
+ "/cfg/endpoints/drf/": {
11821
13049
  "get": {
11822
- "description": "Retrieve statistics for all enabled django-cfg applications",
11823
- "operationId": "cfg_dashboard_api_statistics_apps_list",
13050
+ "description": "Return endpoints status data.",
13051
+ "operationId": "cfg_endpoints_drf_retrieve",
11824
13052
  "responses": {
11825
13053
  "200": {
11826
13054
  "content": {
11827
13055
  "application/json": {
11828
13056
  "schema": {
11829
- "items": {
11830
- "$ref": "#/components/schemas/AppStatistics"
11831
- },
11832
- "type": "array"
13057
+ "$ref": "#/components/schemas/EndpointsStatus"
11833
13058
  }
11834
13059
  }
11835
13060
  },
@@ -11840,33 +13065,24 @@ export const OPENAPI_SCHEMA = {
11840
13065
  {
11841
13066
  "jwtAuth": []
11842
13067
  },
11843
- {
11844
- "cookieAuth": []
11845
- },
11846
- {
11847
- "basicAuth": []
11848
- }
13068
+ {}
11849
13069
  ],
11850
- "summary": "Get application statistics",
11851
13070
  "tags": [
11852
- "Dashboard - Statistics"
13071
+ "endpoints"
11853
13072
  ],
11854
13073
  "x-async-capable": false
11855
13074
  }
11856
13075
  },
11857
- "/cfg/dashboard/api/statistics/cards/": {
13076
+ "/cfg/endpoints/urls/": {
11858
13077
  "get": {
11859
- "description": "Retrieve dashboard statistics cards with key metrics",
11860
- "operationId": "cfg_dashboard_api_statistics_cards_list",
13078
+ "description": "Return all registered URLs.",
13079
+ "operationId": "cfg_endpoints_urls_retrieve",
11861
13080
  "responses": {
11862
13081
  "200": {
11863
13082
  "content": {
11864
13083
  "application/json": {
11865
13084
  "schema": {
11866
- "items": {
11867
- "$ref": "#/components/schemas/StatCard"
11868
- },
11869
- "type": "array"
13085
+ "$ref": "#/components/schemas/URLsList"
11870
13086
  }
11871
13087
  }
11872
13088
  },
@@ -11877,30 +13093,55 @@ export const OPENAPI_SCHEMA = {
11877
13093
  {
11878
13094
  "jwtAuth": []
11879
13095
  },
13096
+ {}
13097
+ ],
13098
+ "tags": [
13099
+ "endpoints"
13100
+ ],
13101
+ "x-async-capable": false
13102
+ }
13103
+ },
13104
+ "/cfg/endpoints/urls/compact/": {
13105
+ "get": {
13106
+ "description": "Return compact URL list.",
13107
+ "operationId": "cfg_endpoints_urls_compact_retrieve",
13108
+ "responses": {
13109
+ "200": {
13110
+ "description": "No response body"
13111
+ }
13112
+ },
13113
+ "security": [
11880
13114
  {
11881
- "cookieAuth": []
13115
+ "jwtAuth": []
11882
13116
  },
11883
- {
11884
- "basicAuth": []
11885
- }
13117
+ {}
11886
13118
  ],
11887
- "summary": "Get statistics cards",
11888
13119
  "tags": [
11889
- "Dashboard - Statistics"
13120
+ "endpoints"
11890
13121
  ],
11891
13122
  "x-async-capable": false
11892
13123
  }
11893
13124
  },
11894
- "/cfg/dashboard/api/statistics/users/": {
13125
+ "/cfg/grpc/charts/dashboard/": {
11895
13126
  "get": {
11896
- "description": "Retrieve user-related statistics",
11897
- "operationId": "cfg_dashboard_api_statistics_users_retrieve",
13127
+ "description": "Returns combined data for all charts in one request (optimized).",
13128
+ "operationId": "cfg_grpc_charts_dashboard_retrieve",
13129
+ "parameters": [
13130
+ {
13131
+ "description": "Time range in hours (default: 24, max: 720)",
13132
+ "in": "query",
13133
+ "name": "hours",
13134
+ "schema": {
13135
+ "type": "integer"
13136
+ }
13137
+ }
13138
+ ],
11898
13139
  "responses": {
11899
13140
  "200": {
11900
13141
  "content": {
11901
13142
  "application/json": {
11902
13143
  "schema": {
11903
- "$ref": "#/components/schemas/UserStatistics"
13144
+ "$ref": "#/components/schemas/DashboardCharts"
11904
13145
  }
11905
13146
  }
11906
13147
  },
@@ -11918,23 +13159,33 @@ export const OPENAPI_SCHEMA = {
11918
13159
  "basicAuth": []
11919
13160
  }
11920
13161
  ],
11921
- "summary": "Get user statistics",
13162
+ "summary": "Get all dashboard charts data",
11922
13163
  "tags": [
11923
- "Dashboard - Statistics"
13164
+ "gRPC Charts"
11924
13165
  ],
11925
13166
  "x-async-capable": false
11926
13167
  }
11927
13168
  },
11928
- "/cfg/dashboard/api/system/health/": {
13169
+ "/cfg/grpc/charts/error-distribution/": {
11929
13170
  "get": {
11930
- "description": "Retrieve overall system health including all component checks",
11931
- "operationId": "cfg_dashboard_api_system_health_retrieve",
13171
+ "description": "Returns distribution of error types across services.",
13172
+ "operationId": "cfg_grpc_charts_error_distribution_retrieve",
13173
+ "parameters": [
13174
+ {
13175
+ "description": "Time range in hours (default: 24, max: 720)",
13176
+ "in": "query",
13177
+ "name": "hours",
13178
+ "schema": {
13179
+ "type": "integer"
13180
+ }
13181
+ }
13182
+ ],
11932
13183
  "responses": {
11933
13184
  "200": {
11934
13185
  "content": {
11935
13186
  "application/json": {
11936
13187
  "schema": {
11937
- "$ref": "#/components/schemas/SystemHealth"
13188
+ "$ref": "#/components/schemas/ErrorDistributionChart"
11938
13189
  }
11939
13190
  }
11940
13191
  },
@@ -11952,23 +13203,33 @@ export const OPENAPI_SCHEMA = {
11952
13203
  "basicAuth": []
11953
13204
  }
11954
13205
  ],
11955
- "summary": "Get system health status",
13206
+ "summary": "Get error distribution chart data",
11956
13207
  "tags": [
11957
- "Dashboard - System"
13208
+ "gRPC Charts"
11958
13209
  ],
11959
13210
  "x-async-capable": false
11960
13211
  }
11961
13212
  },
11962
- "/cfg/dashboard/api/system/metrics/": {
13213
+ "/cfg/grpc/charts/request-volume/": {
11963
13214
  "get": {
11964
- "description": "Retrieve system performance metrics (CPU, memory, disk, etc.)",
11965
- "operationId": "cfg_dashboard_api_system_metrics_retrieve",
13215
+ "description": "Returns time-series data showing request volume and success rates.",
13216
+ "operationId": "cfg_grpc_charts_request_volume_retrieve",
13217
+ "parameters": [
13218
+ {
13219
+ "description": "Time range in hours (default: 24, max: 720)",
13220
+ "in": "query",
13221
+ "name": "hours",
13222
+ "schema": {
13223
+ "type": "integer"
13224
+ }
13225
+ }
13226
+ ],
11966
13227
  "responses": {
11967
13228
  "200": {
11968
13229
  "content": {
11969
13230
  "application/json": {
11970
13231
  "schema": {
11971
- "$ref": "#/components/schemas/SystemMetrics"
13232
+ "$ref": "#/components/schemas/RequestVolumeChart"
11972
13233
  }
11973
13234
  }
11974
13235
  },
@@ -11986,26 +13247,33 @@ export const OPENAPI_SCHEMA = {
11986
13247
  "basicAuth": []
11987
13248
  }
11988
13249
  ],
11989
- "summary": "Get system metrics",
13250
+ "summary": "Get request volume chart data",
11990
13251
  "tags": [
11991
- "Dashboard - System"
13252
+ "gRPC Charts"
11992
13253
  ],
11993
13254
  "x-async-capable": false
11994
13255
  }
11995
13256
  },
11996
- "/cfg/dashboard/api/zones/": {
13257
+ "/cfg/grpc/charts/response-time/": {
11997
13258
  "get": {
11998
- "description": "Retrieve all OpenAPI zones/groups with their configuration",
11999
- "operationId": "cfg_dashboard_api_zones_list",
13259
+ "description": "Returns time-series data showing response time statistics (avg, P50, P95, P99).",
13260
+ "operationId": "cfg_grpc_charts_response_time_retrieve",
13261
+ "parameters": [
13262
+ {
13263
+ "description": "Time range in hours (default: 24, max: 720)",
13264
+ "in": "query",
13265
+ "name": "hours",
13266
+ "schema": {
13267
+ "type": "integer"
13268
+ }
13269
+ }
13270
+ ],
12000
13271
  "responses": {
12001
13272
  "200": {
12002
13273
  "content": {
12003
13274
  "application/json": {
12004
13275
  "schema": {
12005
- "items": {
12006
- "$ref": "#/components/schemas/APIZone"
12007
- },
12008
- "type": "array"
13276
+ "$ref": "#/components/schemas/ResponseTimeChart"
12009
13277
  }
12010
13278
  }
12011
13279
  },
@@ -12023,23 +13291,33 @@ export const OPENAPI_SCHEMA = {
12023
13291
  "basicAuth": []
12024
13292
  }
12025
13293
  ],
12026
- "summary": "Get all API zones",
13294
+ "summary": "Get response time chart data",
12027
13295
  "tags": [
12028
- "Dashboard - API Zones"
13296
+ "gRPC Charts"
12029
13297
  ],
12030
13298
  "x-async-capable": false
12031
13299
  }
12032
13300
  },
12033
- "/cfg/dashboard/api/zones/summary/": {
13301
+ "/cfg/grpc/charts/server-lifecycle/": {
12034
13302
  "get": {
12035
- "description": "Retrieve zones summary with statistics",
12036
- "operationId": "cfg_dashboard_api_zones_summary_retrieve",
13303
+ "description": "Returns timeline of server start/stop/error events.",
13304
+ "operationId": "cfg_grpc_charts_server_lifecycle_retrieve",
13305
+ "parameters": [
13306
+ {
13307
+ "description": "Time range in hours (default: 24, max: 720)",
13308
+ "in": "query",
13309
+ "name": "hours",
13310
+ "schema": {
13311
+ "type": "integer"
13312
+ }
13313
+ }
13314
+ ],
12037
13315
  "responses": {
12038
13316
  "200": {
12039
13317
  "content": {
12040
13318
  "application/json": {
12041
13319
  "schema": {
12042
- "$ref": "#/components/schemas/APIZonesSummary"
13320
+ "$ref": "#/components/schemas/ServerLifecycleChart"
12043
13321
  }
12044
13322
  }
12045
13323
  },
@@ -12057,23 +13335,33 @@ export const OPENAPI_SCHEMA = {
12057
13335
  "basicAuth": []
12058
13336
  }
12059
13337
  ],
12060
- "summary": "Get zones summary",
13338
+ "summary": "Get server lifecycle events",
12061
13339
  "tags": [
12062
- "Dashboard - API Zones"
13340
+ "gRPC Charts"
12063
13341
  ],
12064
13342
  "x-async-capable": false
12065
13343
  }
12066
13344
  },
12067
- "/cfg/endpoints/drf/": {
13345
+ "/cfg/grpc/charts/server-uptime/": {
12068
13346
  "get": {
12069
- "description": "Return endpoints status data.",
12070
- "operationId": "cfg_endpoints_drf_retrieve",
13347
+ "description": "Returns time-series data showing number of running servers over time.",
13348
+ "operationId": "cfg_grpc_charts_server_uptime_retrieve",
13349
+ "parameters": [
13350
+ {
13351
+ "description": "Time range in hours (default: 24, max: 720)",
13352
+ "in": "query",
13353
+ "name": "hours",
13354
+ "schema": {
13355
+ "type": "integer"
13356
+ }
13357
+ }
13358
+ ],
12071
13359
  "responses": {
12072
13360
  "200": {
12073
13361
  "content": {
12074
13362
  "application/json": {
12075
13363
  "schema": {
12076
- "$ref": "#/components/schemas/EndpointsStatus"
13364
+ "$ref": "#/components/schemas/ServerUptimeChart"
12077
13365
  }
12078
13366
  }
12079
13367
  },
@@ -12084,24 +13372,40 @@ export const OPENAPI_SCHEMA = {
12084
13372
  {
12085
13373
  "jwtAuth": []
12086
13374
  },
12087
- {}
13375
+ {
13376
+ "cookieAuth": []
13377
+ },
13378
+ {
13379
+ "basicAuth": []
13380
+ }
12088
13381
  ],
13382
+ "summary": "Get server uptime chart data",
12089
13383
  "tags": [
12090
- "endpoints"
13384
+ "gRPC Charts"
12091
13385
  ],
12092
13386
  "x-async-capable": false
12093
13387
  }
12094
13388
  },
12095
- "/cfg/endpoints/urls/": {
13389
+ "/cfg/grpc/charts/service-activity/": {
12096
13390
  "get": {
12097
- "description": "Return all registered URLs.",
12098
- "operationId": "cfg_endpoints_urls_retrieve",
13391
+ "description": "Returns comparison data showing activity across all services.",
13392
+ "operationId": "cfg_grpc_charts_service_activity_retrieve",
13393
+ "parameters": [
13394
+ {
13395
+ "description": "Time range in hours (default: 24, max: 720)",
13396
+ "in": "query",
13397
+ "name": "hours",
13398
+ "schema": {
13399
+ "type": "integer"
13400
+ }
13401
+ }
13402
+ ],
12099
13403
  "responses": {
12100
13404
  "200": {
12101
13405
  "content": {
12102
13406
  "application/json": {
12103
13407
  "schema": {
12104
- "$ref": "#/components/schemas/URLsList"
13408
+ "$ref": "#/components/schemas/ServiceActivityChart"
12105
13409
  }
12106
13410
  }
12107
13411
  },
@@ -12112,31 +13416,16 @@ export const OPENAPI_SCHEMA = {
12112
13416
  {
12113
13417
  "jwtAuth": []
12114
13418
  },
12115
- {}
12116
- ],
12117
- "tags": [
12118
- "endpoints"
12119
- ],
12120
- "x-async-capable": false
12121
- }
12122
- },
12123
- "/cfg/endpoints/urls/compact/": {
12124
- "get": {
12125
- "description": "Return compact URL list.",
12126
- "operationId": "cfg_endpoints_urls_compact_retrieve",
12127
- "responses": {
12128
- "200": {
12129
- "description": "No response body"
12130
- }
12131
- },
12132
- "security": [
12133
13419
  {
12134
- "jwtAuth": []
13420
+ "cookieAuth": []
12135
13421
  },
12136
- {}
13422
+ {
13423
+ "basicAuth": []
13424
+ }
12137
13425
  ],
13426
+ "summary": "Get service activity chart data",
12138
13427
  "tags": [
12139
- "endpoints"
13428
+ "gRPC Charts"
12140
13429
  ],
12141
13430
  "x-async-capable": false
12142
13431
  }
@@ -12218,7 +13507,7 @@ export const OPENAPI_SCHEMA = {
12218
13507
  "content": {
12219
13508
  "application/json": {
12220
13509
  "schema": {
12221
- "$ref": "#/components/schemas/HealthCheck"
13510
+ "$ref": "#/components/schemas/GRPCHealthCheck"
12222
13511
  }
12223
13512
  }
12224
13513
  },
@@ -12334,7 +13623,7 @@ export const OPENAPI_SCHEMA = {
12334
13623
  "content": {
12335
13624
  "application/json": {
12336
13625
  "schema": {
12337
- "$ref": "#/components/schemas/OverviewStats"
13626
+ "$ref": "#/components/schemas/GRPCOverviewStats"
12338
13627
  }
12339
13628
  }
12340
13629
  },
@@ -12371,17 +13660,9 @@ export const OPENAPI_SCHEMA = {
12371
13660
  },
12372
13661
  "/cfg/grpc/monitor/requests/": {
12373
13662
  "get": {
12374
- "description": "Returns a list of recent gRPC requests with their details.",
13663
+ "description": "Returns a list of recent gRPC requests with their details. Uses standard DRF pagination.",
12375
13664
  "operationId": "cfg_grpc_monitor_requests_retrieve",
12376
13665
  "parameters": [
12377
- {
12378
- "description": "Number of requests to return (default: 50, max: 200)",
12379
- "in": "query",
12380
- "name": "count",
12381
- "schema": {
12382
- "type": "integer"
12383
- }
12384
- },
12385
13666
  {
12386
13667
  "description": "Filter by method name",
12387
13668
  "in": "query",
@@ -12390,14 +13671,6 @@ export const OPENAPI_SCHEMA = {
12390
13671
  "type": "string"
12391
13672
  }
12392
13673
  },
12393
- {
12394
- "description": "Offset for pagination (default: 0)",
12395
- "in": "query",
12396
- "name": "offset",
12397
- "schema": {
12398
- "type": "integer"
12399
- }
12400
- },
12401
13674
  {
12402
13675
  "description": "Filter by service name",
12403
13676
  "in": "query",
@@ -12420,7 +13693,7 @@ export const OPENAPI_SCHEMA = {
12420
13693
  "content": {
12421
13694
  "application/json": {
12422
13695
  "schema": {
12423
- "$ref": "#/components/schemas/RecentRequests"
13696
+ "$ref": "#/components/schemas/RecentRequest"
12424
13697
  }
12425
13698
  }
12426
13699
  },
@@ -12628,6 +13901,7 @@ export const OPENAPI_SCHEMA = {
12628
13901
  "name": "id",
12629
13902
  "required": true,
12630
13903
  "schema": {
13904
+ "pattern": "^[^/]+$",
12631
13905
  "type": "string"
12632
13906
  }
12633
13907
  },
@@ -12691,6 +13965,7 @@ export const OPENAPI_SCHEMA = {
12691
13965
  "name": "id",
12692
13966
  "required": true,
12693
13967
  "schema": {
13968
+ "pattern": "^[^/]+$",
12694
13969
  "type": "string"
12695
13970
  }
12696
13971
  },
@@ -12746,7 +14021,7 @@ export const OPENAPI_SCHEMA = {
12746
14021
  },
12747
14022
  "/cfg/grpc/test/call/": {
12748
14023
  "post": {
12749
- "description": "Interactive gRPC method calling. NOTE: This is a placeholder endpoint. Dynamic gRPC invocation is not yet implemented. Use grpcurl or implement Phase 4 for this functionality.",
14024
+ "description": "Interactive gRPC method calling using dynamic invocation. Uses gRPC Reflection API to discover and call methods without compiled stubs.",
12750
14025
  "operationId": "cfg_grpc_test_call_create",
12751
14026
  "requestBody": {
12752
14027
  "content": {
@@ -12779,11 +14054,31 @@ export const OPENAPI_SCHEMA = {
12779
14054
  },
12780
14055
  "description": ""
12781
14056
  },
12782
- "501": {
14057
+ "400": {
14058
+ "content": {
14059
+ "application/json": {
14060
+ "schema": {
14061
+ "description": "Invalid request"
14062
+ }
14063
+ }
14064
+ },
14065
+ "description": ""
14066
+ },
14067
+ "404": {
14068
+ "content": {
14069
+ "application/json": {
14070
+ "schema": {
14071
+ "description": "Service or method not found"
14072
+ }
14073
+ }
14074
+ },
14075
+ "description": ""
14076
+ },
14077
+ "500": {
12783
14078
  "content": {
12784
14079
  "application/json": {
12785
14080
  "schema": {
12786
- "description": "Not implemented"
14081
+ "description": "gRPC call failed"
12787
14082
  }
12788
14083
  }
12789
14084
  },
@@ -12801,7 +14096,7 @@ export const OPENAPI_SCHEMA = {
12801
14096
  "basicAuth": []
12802
14097
  }
12803
14098
  ],
12804
- "summary": "Call gRPC method (placeholder)",
14099
+ "summary": "Call gRPC method",
12805
14100
  "tags": [
12806
14101
  "gRPC Testing"
12807
14102
  ],
@@ -12862,17 +14157,9 @@ export const OPENAPI_SCHEMA = {
12862
14157
  },
12863
14158
  "/cfg/grpc/test/logs/": {
12864
14159
  "get": {
12865
- "description": "Returns logs from test gRPC calls.",
14160
+ "description": "Returns logs from test gRPC calls. Uses standard DRF pagination.",
12866
14161
  "operationId": "cfg_grpc_test_logs_retrieve",
12867
14162
  "parameters": [
12868
- {
12869
- "description": "Number of logs to return (default: 50, max: 200)",
12870
- "in": "query",
12871
- "name": "limit",
12872
- "schema": {
12873
- "type": "integer"
12874
- }
12875
- },
12876
14163
  {
12877
14164
  "description": "Filter by method name",
12878
14165
  "in": "query",
@@ -12881,14 +14168,6 @@ export const OPENAPI_SCHEMA = {
12881
14168
  "type": "string"
12882
14169
  }
12883
14170
  },
12884
- {
12885
- "description": "Offset for pagination (default: 0)",
12886
- "in": "query",
12887
- "name": "offset",
12888
- "schema": {
12889
- "type": "integer"
12890
- }
12891
- },
12892
14171
  {
12893
14172
  "description": "Filter by service name",
12894
14173
  "in": "query",
@@ -12911,7 +14190,7 @@ export const OPENAPI_SCHEMA = {
12911
14190
  "content": {
12912
14191
  "application/json": {
12913
14192
  "schema": {
12914
- "$ref": "#/components/schemas/GRPCTestLogs"
14193
+ "$ref": "#/components/schemas/GRPCTestLog"
12915
14194
  }
12916
14195
  }
12917
14196
  },