Skip to content

Commit d977f36

Browse files
authored
Merge pull request #5 from tcncloud/add-diagnostics-protos
Add diagnostics protos
2 parents e903919 + 81530aa commit d977f36

File tree

1 file changed

+189
-1
lines changed

1 file changed

+189
-1
lines changed

tcnapi/exile/gate/v2/public.proto

Lines changed: 189 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,7 @@ message StreamJobsResponse {
352352
InfoRequest info = 100; // Request for system information
353353
SeppukuRequest shutdown = 101; // Request to shut down the client
354354
LoggingRequest logging = 102; // Request related to logging
355+
DiagnosticsRequest diagnostics = 103; // Request for diagnostics
355356
}
356357

357358
/**
@@ -465,6 +466,12 @@ message StreamJobsResponse {
465466
}
466467
}
467468
}
469+
470+
/**
471+
* Request message for diagnostics request.
472+
* Empty response indicates successful diagnostics.
473+
*/
474+
message DiagnosticsRequest {}
468475
}
469476

470477
/**
@@ -490,6 +497,7 @@ message SubmitJobResultsRequest {
490497
InfoResult info_result = 22; // System information result
491498
SeppukuResult shutdown_result = 23; // Result of shutdown request
492499
LoggingResult logging_result = 24; // Result of logging request
500+
DiagnosticsResult diagnostics_result = 25; // Result of diagnostics request
493501
}
494502

495503
/**
@@ -571,7 +579,187 @@ message SubmitJobResultsRequest {
571579
}
572580

573581
/**
574-
* Result message for shutdown request.
582+
* Result message for diagnostics request.
583+
* Contains comprehensive system information about the running application.
584+
*/
585+
message DiagnosticsResult {
586+
google.protobuf.Timestamp timestamp = 1; // Timestamp when diagnostics were collected
587+
string hostname = 2; // System hostname
588+
OperatingSystem operating_system = 3; // Operating system information
589+
JavaRuntime java_runtime = 4; // Java runtime information
590+
Hardware hardware = 5; // Hardware information
591+
Memory memory = 6; // Memory usage information
592+
repeated Storage storage = 7; // Storage devices and partitions
593+
Container container = 8; // Container information (if running in container)
594+
EnvironmentVariables environment_variables = 9; // Environment variables
595+
SystemProperties system_properties = 10; // System properties
596+
message OperatingSystem {
597+
string name = 1; // OS name (e.g., "Linux", "Windows")
598+
string version = 2; // OS version
599+
string architecture = 3; // System architecture (e.g., "aarch64", "x86_64")
600+
string manufacturer = 4; // OS manufacturer
601+
int32 available_processors = 5; // Number of available processors
602+
int64 system_uptime = 6; // System uptime in seconds
603+
double system_load_average = 7; // System load average
604+
int64 total_physical_memory = 8; // Total physical memory in bytes
605+
int64 available_physical_memory = 9; // Available physical memory in bytes
606+
int64 total_swap_space = 10; // Total swap space in bytes (-1 if not available)
607+
int64 available_swap_space = 11; // Available swap space in bytes (-1 if not available)
608+
}
609+
message JavaRuntime {
610+
string version = 1; // Java version
611+
string vendor = 2; // Java vendor
612+
string runtime_name = 3; // Runtime name
613+
string vm_name = 4; // VM name
614+
string vm_version = 5; // VM version
615+
string vm_vendor = 6; // VM vendor
616+
string specification_name = 7; // Specification name
617+
string specification_version = 8; // Specification version
618+
string class_path = 9; // Java class path
619+
string library_path = 10; // Java library path
620+
repeated string input_arguments = 11; // JVM input arguments
621+
int64 uptime = 12; // JVM uptime in milliseconds
622+
int64 start_time = 13; // JVM start time in milliseconds since epoch
623+
string management_spec_version = 14; // Management specification version
624+
}
625+
message Hardware {
626+
string model = 1; // Hardware model
627+
string manufacturer = 2; // Hardware manufacturer
628+
string serial_number = 3; // Hardware serial number
629+
string uuid = 4; // Hardware UUID
630+
Processor processor = 5; // Processor information
631+
}
632+
message Processor {
633+
string name = 1; // Processor name
634+
string identifier = 2; // Processor identifier
635+
string architecture = 3; // Processor architecture
636+
int32 physical_processor_count = 4; // Number of physical processors
637+
int32 logical_processor_count = 5; // Number of logical processors
638+
int64 max_frequency = 6; // Maximum frequency in Hz (-1 if unknown)
639+
bool cpu_64bit = 7; // Whether the CPU is 64-bit
640+
}
641+
message Memory {
642+
int64 heap_memory_used = 1; // Used heap memory in bytes
643+
int64 heap_memory_max = 2; // Maximum heap memory in bytes
644+
int64 heap_memory_committed = 3; // Committed heap memory in bytes
645+
int64 non_heap_memory_used = 4; // Used non-heap memory in bytes
646+
int64 non_heap_memory_max = 5; // Maximum non-heap memory in bytes (-1 if unlimited)
647+
int64 non_heap_memory_committed = 6; // Committed non-heap memory in bytes
648+
repeated MemoryPool memory_pools = 7; // Memory pool information
649+
}
650+
message MemoryPool {
651+
string name = 1; // Memory pool name
652+
string type = 2; // Memory pool type (e.g., "Heap memory", "Non-heap memory")
653+
int64 used = 3; // Used memory in bytes
654+
int64 max = 4; // Maximum memory in bytes (-1 if unlimited)
655+
int64 committed = 5; // Committed memory in bytes
656+
}
657+
message Storage {
658+
string name = 1; // Storage device name
659+
string type = 2; // Storage device type (e.g., "disk")
660+
string model = 3; // Storage device model
661+
string serial_number = 4; // Storage device serial number
662+
int64 size = 5; // Storage device size in bytes
663+
}
664+
message Container {
665+
bool is_container = 1; // Whether running in a container
666+
string container_type = 2; // Container type (e.g., "docker")
667+
string container_id = 3; // Container ID
668+
string container_name = 4; // Container name
669+
string image_name = 5; // Container image name
670+
map<string, string> resource_limits = 6; // Resource limits imposed by the container
671+
}
672+
message EnvironmentVariables {
673+
string language = 1; // LANGUAGE
674+
string path = 2; // PATH
675+
string hostname = 3; // HOSTNAME
676+
string lc_all = 4; // LC_ALL
677+
string java_home = 5; // JAVA_HOME
678+
string java_version = 6; // JAVA_VERSION
679+
string lang = 7; // LANG
680+
string home = 8; // HOME
681+
}
682+
message SystemProperties {
683+
// Java Specification
684+
string java_specification_version = 1; // java.specification.version
685+
string java_specification_vendor = 2; // java.specification.vendor
686+
string java_specification_name = 3; // java.specification.name
687+
string java_specification_maintenance_version = 4; // java.specification.maintenance.version
688+
689+
// Java Version Info
690+
string java_version = 5; // java.version
691+
string java_version_date = 6; // java.version.date
692+
string java_vendor = 7; // java.vendor
693+
string java_vendor_version = 8; // java.vendor.version
694+
string java_vendor_url = 9; // java.vendor.url
695+
string java_vendor_url_bug = 10; // java.vendor.url.bug
696+
697+
// Java Runtime
698+
string java_runtime_name = 11; // java.runtime.name
699+
string java_runtime_version = 12; // java.runtime.version
700+
string java_home = 13; // java.home
701+
string java_class_path = 14; // java.class.path
702+
string java_library_path = 15; // java.library.path
703+
string java_class_version = 16; // java.class.version
704+
705+
// Java VM
706+
string java_vm_name = 17; // java.vm.name
707+
string java_vm_version = 18; // java.vm.version
708+
string java_vm_vendor = 19; // java.vm.vendor
709+
string java_vm_info = 20; // java.vm.info
710+
string java_vm_specification_version = 21; // java.vm.specification.version
711+
string java_vm_specification_vendor = 22; // java.vm.specification.vendor
712+
string java_vm_specification_name = 23; // java.vm.specification.name
713+
string java_vm_compressed_oops_mode = 24; // java.vm.compressedOopsMode
714+
715+
// Operating System
716+
string os_name = 25; // os.name
717+
string os_version = 26; // os.version
718+
string os_arch = 27; // os.arch
719+
720+
// User Info
721+
string user_name = 28; // user.name
722+
string user_home = 29; // user.home
723+
string user_dir = 30; // user.dir
724+
string user_timezone = 31; // user.timezone
725+
string user_country = 32; // user.country
726+
string user_language = 33; // user.language
727+
728+
// File System
729+
string file_separator = 34; // file.separator
730+
string path_separator = 35; // path.separator
731+
string line_separator = 36; // line.separator
732+
string file_encoding = 37; // file.encoding
733+
string native_encoding = 38; // native.encoding
734+
735+
// Sun/Oracle Specific
736+
string sun_jnu_encoding = 39; // sun.jnu.encoding
737+
string sun_arch_data_model = 40; // sun.arch.data.model
738+
string sun_java_launcher = 41; // sun.java.launcher
739+
string sun_boot_library_path = 42; // sun.boot.library.path
740+
string sun_java_command = 43; // sun.java.command
741+
string sun_cpu_endian = 44; // sun.cpu.endian
742+
string sun_management_compiler = 45; // sun.management.compiler
743+
string sun_io_unicode_encoding = 46; // sun.io.unicode.encoding
744+
745+
// JDK/Debug
746+
string jdk_debug = 47; // jdk.debug
747+
string java_io_tmpdir = 48; // java.io.tmpdir
748+
749+
// Application Specific
750+
string env = 49; // env (custom property)
751+
string micronaut_classloader_logging = 50; // micronaut.classloader.logging
752+
753+
// Third Party Libraries
754+
string io_netty_allocator_max_order = 51; // io.netty.allocator.maxOrder
755+
string io_netty_process_id = 52; // io.netty.processId
756+
string io_netty_machine_id = 53; // io.netty.machineId
757+
string com_zaxxer_hikari_pool_number = 54; // com.zaxxer.hikari.pool_number
758+
}
759+
}
760+
761+
/**
762+
* Result message for shutting down the client.
575763
* Empty response indicates successful shutdown initiation.
576764
*/
577765
message SeppukuResult {}

0 commit comments

Comments
 (0)