未验证 提交 4c841a56 编写于 作者: 何延龙 提交者: GitHub

[WIP] CPP (#248)

Use cpp to rewrite the code
上级 5b17d3fa
......@@ -28,6 +28,14 @@ jobs:
repository: apache/skywalking-agent-test-tool
path: skywalking-agent-test-tool
- name: Checkout GRPC
uses: actions/checkout@v2
with:
ref: v1.31.x
repository: grpc/grpc
path: grpc
submodules: true
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
......@@ -43,26 +51,41 @@ jobs:
uses: aahmed-se/setup-maven@v3
with:
maven-version: 3.6.1
- name: Setup GO
uses: actions/setup-go@v2-beta
with:
go-version: '^1.13.1'
- name: Install library
run: sudo apt-get update && sudo apt-get install -y curl libcurl4-openssl-dev
run: |
sudo apt-get update
sudo apt-get install -y curl libcurl4-openssl-dev
sudo apt-get install -y build-essential autoconf libtool pkg-config cmake
sudo apt-get install -y autoconf automake libtool curl make g++ unzip
- name: Build GRPC
run: |
pwd
cd /home/runner/work/SkyAPM-php-sdk/SkyAPM-php-sdk/grpc/third_party/protobuf
./autogen.sh && ./configure
make -j$(nproc) && make -j$(nproc) check && sudo make install && sudo make clean && sudo ldconfig
cd /home/runner/work/SkyAPM-php-sdk/SkyAPM-php-sdk/grpc
mkdir -p cmake/build
cd cmake/build
cmake ../.. -DBUILD_SHARED_LIBS=ON -DgRPC_INSTALL=ON
make -j$(nproc) && sudo make install && make clean && sudo ldconfig
cd /home/runner/work/SkyAPM-php-sdk/SkyAPM-php-sdk
sudo rm -fr /home/runner/work/SkyAPM-php-sdk/SkyAPM-php-sdk/grpc
pkg-config --cflags --libs protobuf
- name: Build SkyWalking-PHP
run: |
cd /home/runner/work/SkyAPM-php-sdk/SkyAPM-php-sdk
phpize
./configure
make
sudo make install
bash -c './build-sky-php-agent.sh'
sudo make clean
- name: Build SkyWalking mock collector
run: |
cd skywalking-agent-test-tool
cd /home/runner/work/SkyAPM-php-sdk/SkyAPM-php-sdk/skywalking-agent-test-tool
mvn package -DskipTests
tar zxvf ./dist/skywalking-mock-collector.tar.gz -C ./mock-collector
cd ./mock-collector/skywalking-mock-collector
......
......@@ -3,13 +3,6 @@
.idea
cmake-build-debug
CMakeLists.txt
/src/grpc/*
/src/report/deps/boost/bin.v2
/src/report/deps/boost/b2
/src/report/deps/boost/bjam
/src/report/deps/boost/bootstrap.log
/src/report/deps/boost/project-config.jam
/src/report/report_client
/configure.ac
/skywalking.loT
*.lo
......@@ -48,3 +41,6 @@ CMakeLists.txt
/tests/*/*.log
/tests/*/*.sh
sky_php*
/src/network/*
log.cpp
skywalking*.tgz
\ No newline at end of file
[submodule "reporter/protocol/v3"]
path = reporter/protocol/v3
url = https://github.com/apache/skywalking-data-collect-protocol.git
language: php
compiler:
- gcc
- clang
os:
- linux
services:
- docker
php:
- 7.1-nts
- 7.2-nts
- 7.3-nts
- 7.4-nts
- nightly
matrix:
fast_finish: true
allow_failures:
- php: nightly
notifications:
email: yanlong.hee@gmail.com
sudo: required
# compile
before_script:
- date
- env
- uname -a
- ulimit -a
- php -v
- ls -al
- pwd
- echo "`git log -20 --pretty --oneline`"
- echo "`git log -10 --stat --pretty --oneline`"
- ./travis/simple-compile.sh
- php --ri skywalking
script:
- ./travis/route.sh
after_success:
- bash <(curl -s https://codecov.io/bash)
/**
* `b64.h' - b64
*
* copyright (c) 2014 joseph werle
*/
#ifndef B64_H
#define B64_H 1
/**
* Memory allocation functions to use. You can define b64_malloc and
* b64_realloc to custom functions if you want.
*/
#ifndef b64_malloc
# define b64_malloc(ptr) malloc(ptr)
#endif
#ifndef b64_realloc
# define b64_realloc(ptr, size) realloc(ptr, size)
#endif
/**
* Base64 index table.
*/
static const char b64_table[] = {
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',
'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
'w', 'x', 'y', 'z', '0', '1', '2', '3',
'4', '5', '6', '7', '8', '9', '+', '/'
};
#ifdef __cplusplus
extern "C" {
#endif
/**
* Encode `unsigned char *' source with `size_t' size.
* Returns a `char *' base64 encoded string.
*/
char *
b64_encode (const unsigned char *, size_t);
/**
* Dencode `char *' source with `size_t' size.
* Returns a `unsigned char *' base64 decoded string.
*/
unsigned char *
b64_decode (const char *, size_t);
/**
* Dencode `char *' source with `size_t' size.
* Returns a `unsigned char *' base64 decoded string + size of decoded string.
*/
unsigned char *
b64_decode_ex (const char *, size_t, size_t *);
#ifdef __cplusplus
}
#endif
#endif
#!/bin/bash
GOOS=darwin GOARCH=amd64 go build -o sky-php-agent-darwin-x64 ./cmd/main.go
GOOS=darwin GOARCH=386 go build -o sky-php-agent-darwin-x86 ./cmd/main.go
GOOS=linux GOARCH=amd64 go build -o sky-php-agent-linux-x64 ./cmd/main.go
GOOS=linux GOARCH=386 go build -o sky-php-agent-linux-x86 ./cmd/main.go
GOOS=linux GOARCH=arm go build -o sky-php-agent-linux-arm86 ./cmd/main.go
GOOS=linux GOARCH=arm64 go build -o sky-php-agent-linux-arm64 ./cmd/main.go
package main
import (
"github.com/SkyAPM/SkyAPM-php-sdk/reporter/logger"
"github.com/SkyAPM/SkyAPM-php-sdk/reporter/service"
cli "github.com/urfave/cli/v2"
"os"
)
var log = logger.Log
func main() {
defer func() {
if err := recover(); err != nil {
log.Error(err)
}
}()
app := cli.NewApp()
app.Name = "sky_php_agent"
app.Usage = "the skywalking trace sending agent"
app.Version = "3.3.2"
app.Flags = []cli.Flag{
&cli.StringSliceFlag{Name: "grpc", Usage: "SkyWalking collector address", Value: cli.NewStringSlice("127.0.0.1:11800")},
&cli.StringFlag{Name: "socket", Usage: "Pipeline for communicating with PHP", Value: "/tmp/sky-agent.sock"},
&cli.IntFlag{Name: "send-rate", Usage: "Send trace 1 second by default", Value: 1},
&cli.IntFlag{Name: "sky-version", Usage: "SkyWalking version", Value: 8},
}
app.Action = func(c *cli.Context) error {
a := service.NewAgent(c)
a.Run()
return nil
}
err := app.Run(os.Args)
if err != nil {
log.Errorln(err)
}
}
/*
+----------------------------------------------------------------------+
| PHP Version 7 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2017 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Author: yanlong.hee@gmail.com |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#ifndef SKYWALKING_COMPONENTS_H
#define SKYWALKING_COMPONENTS_H
#define COMPONENT_TOMCAT 1
#define COMPONENT_HTTPCLIENT 2
#define COMPONENT_DUBBO 3
#define COMPONENT_MOTAN 8
#define COMPONENT_RESIN 10
#define COMPONENT_FEIGN 11
#define COMPONENT_OKHTTP 12
#define COMPONENT_SPRING_REST_TEMPLATE 13
#define COMPONENT_SPRING_MVC_ANNOTATION 14
#define COMPONENT_STRUTS2 15
#define COMPONENT_NUTZ_MVC_ANNOTATION 16
#define COMPONENT_NUTZ_HTTP 17
#define COMPONENT_JETTY_CLIENT 18
#define COMPONENT_JETTY_SERVER 19
#define COMPONENT_SHARDING_JDBC 21
#define COMPONENT_GRPC 23
#define COMPONENT_ELASTIC_JOB 24
#define COMPONENT_HTTP_ASYNC_CLIENT 26
#define COMPONENT_SERVICECOMB 28
#define COMPONENT_HYSTRIX 29
#define COMPONENT_JEDIS 30
#define COMPONENT_H2_JDBC_DRIVER 32
#define COMPONENT_MYSQL_JDBC_DRIVER 33
#define COMPONENT_OJDBC 34
#define COMPONENT_SPYMEMCACHED 35
#define COMPONENT_XMEMCACHED 36
#define COMPONENT_POSTGRESQL_DRIVER 37
#define COMPONENT_ROCKET_MQ_PRODUCER 38
#define COMPONENT_ROCKET_MQ_CONSUMER 39
#define COMPONENT_KAFKA_PRODUCER 40
#define COMPONENT_KAFKA_CONSUMER 41
#define COMPONENT_MONGO_DRIVER 42
#define COMPONENT_SOFARPC 43
#define COMPONENT_ACTIVEMQ_PRODUCER 45
#define COMPONENT_ACTIVEMQ_CONSUMER 46
#define COMPONENT_TRANSPORT_CLIENT 48
#define COMPONENT_UNDERTOW 49
#define COMPONENT_RPC 50
#endif //SKYWALKING_COMPONENTS_H
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: noet sw=4 ts=4 fdm=marker
* vim<600: noet sw=4 ts=4
*/
PHP_REQUIRE_CXX()
CXXFLAGS="$CXXFLAGS -Wall -std=c++11 -Wno-deprecated-register"
PHP_ARG_ENABLE(skywalking, whether to enable skywalking support,
[ --enable-skywalking Enable skywalking support])
......@@ -5,6 +8,10 @@ if test "$PHP_THREAD_SAFETY" == "yes"; then
AC_MSG_ERROR([skywalking does not support ZTS])
fi
AC_LANG_PUSH(C++)
AX_CHECK_COMPILE_FLAG([-std=c++0x], , [AC_MSG_ERROR([compiler not accept c++11])])
AC_LANG_POP()
AC_MSG_CHECKING([for php_json.h])
json_inc_path=""
if test -f "$abs_srcdir/include/php/ext/json/php_json.h"; then
......@@ -29,10 +36,121 @@ fi
if test "$PHP_SKYWALKING" != "no"; then
SEARCH_PATH="/usr/local /usr"
SEARCH_GRPC_FOR="/include/grpc/grpc.h"
SEARCH_PROTOBUF_FOR="/include/google/protobuf/message.h"
AC_MSG_CHECKING([for grpc and protobuf files in default path])
for i in $SEARCH_PATH ; do
if test -r $i/$SEARCH_GRPC_FOR; then
GRPC_DIR=$i
AC_MSG_RESULT(found in $i)
fi
if test -r $i/$SEARCH_PROTOBUF_FOR; then
PROTOBUF_DIR=$i
AC_MSG_RESULT(found in $i)
fi
done
if test -z "$GRPC_DIR"; then
AC_MSG_RESULT([not found])
AC_MSG_ERROR([Please reinstall the grpc distribution])
fi
if test -z "$PROTOBUF_DIR"; then
AC_MSG_RESULT([not found])
AC_MSG_ERROR([Please reinstall the protobuf distribution])
fi
PHP_ADD_INCLUDE($GRPC_DIR/include)
PHP_ADD_INCLUDE($PROTOBUF_DIR/include)
LIBS="-lpthread $LIBS"
SKYWALKING_SHARED_LIBADD="-lpthread $SKYWALKING_SHARED_LIBADD"
PHP_ADD_LIBRARY(pthread)
PHP_ADD_LIBRARY(dl,,SKYWALKING_SHARED_LIBADD)
PHP_ADD_LIBRARY(dl)
case $host in
*darwin*)
PHP_ADD_LIBRARY(c++,1,SKYWALKING_SHARED_LIBADD)
;;
*)
PHP_ADD_LIBRARY(stdc++,1,SKYWALKING_SHARED_LIBADD)
PHP_ADD_LIBRARY(rt,,SKYWALKING_SHARED_LIBADD)
PHP_ADD_LIBRARY(rt)
;;
esac
GRPC_LIBDIR=$GRPC_DIR/${GRPC_LIB_SUBDIR-lib}
PHP_ADD_LIBPATH($GRPC_LIBDIR)
PHP_CHECK_LIBRARY(gpr, gpr_now,
[
PHP_ADD_LIBRARY(gpr,, SKYWALKING_SHARED_LIBADD)
PHP_ADD_LIBRARY(gpr)
AC_DEFINE(HAVE_GPRLIB,1,[ ])
],[
AC_MSG_ERROR([wrong gpr lib version or lib not found])
],[
-L$GRPC_LIBDIR
])
PHP_CHECK_LIBRARY(grpc, grpc_channel_destroy,
[
PHP_ADD_LIBRARY(grpc,,SKYWALKING_SHARED_LIBADD)
PHP_ADD_LIBRARY(grpc++,,SKYWALKING_SHARED_LIBADD)
AC_DEFINE(HAVE_GRPCLIB,1,[ ])
],[
AC_MSG_ERROR([wrong grpc lib version or lib not found])
],[
-L$GRPC_LIBDIR
])
mkdir -p src/network/v3
protoc -I src/protocol/v3 --grpc_out=src/network/v3 --plugin=protoc-gen-grpc=`which grpc_cpp_plugin` --cpp_out=src/network/v3 src/protocol/v3/common/Common.proto
protoc -I src/protocol/v3 --grpc_out=src/network/v3 --plugin=protoc-gen-grpc=`which grpc_cpp_plugin` --cpp_out=src/network/v3 src/protocol/v3/language-agent/*.proto
protoc -I src/protocol/v3 --grpc_out=src/network/v3 --plugin=protoc-gen-grpc=`which grpc_cpp_plugin` --cpp_out=src/network/v3 src/protocol/v3/profile/*.proto
protoc -I src/protocol/v3 --grpc_out=src/network/v3 --plugin=protoc-gen-grpc=`which grpc_cpp_plugin` --cpp_out=src/network/v3 src/protocol/v3/management/*.proto
find src -name "*.grpc.pb.cc" | while read id; do mv $id ${id/.grpc/_grpc}; done
PROTOBUF_LIBDIR=$PROTOBUF_DIR/${PROTOBUF_LIB_SUBDIR-lib}
PHP_ADD_LIBPATH($PROTOBUF_LIBDIR)
PHP_ADD_LIBRARY(protobuf,,SKYWALKING_SHARED_LIBADD)
AC_DEFINE(HAVE_PROTOBUFLIB,1,[ ])
PHP_SUBST(SKYWALKING_SHARED_LIBADD)
PHP_ADD_INCLUDE(src)
PHP_ADD_INCLUDE(src/network/v3)
PHP_NEW_EXTENSION(skywalking, \
skywalking.c \
decode.c \
encode.c \
skywalking.cc \
src/base64.cc \
src/cross_process_bag.cc \
src/manager.cc \
src/segment.cc \
src/segment_reference.cc \
src/sky_curl.cc \
src/sky_execute.cc \
src/sky_grpc.cc \
src/sky_predis.cc \
src/sky_module.cc \
src/sky_pdo.cc \
src/sky_utils.cc \
src/span.cc \
src/tag.cc \
src/network/v3/common/Common_grpc.pb.cc \
src/network/v3/common/Common.pb.cc \
src/network/v3/language-agent/Tracing.pb.cc \
src/network/v3/language-agent/Tracing_grpc.pb.cc \
src/network/v3/management/Management_grpc.pb.cc \
src/network/v3/management/Management.pb.cc \
, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
fi
......
/**
* `decode.c' - b64
*
* copyright (c) 2014 joseph werle
*/
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include "b64.h"
#ifdef b64_USE_CUSTOM_MALLOC
extern void* b64_malloc(size_t);
#endif
#ifdef b64_USE_CUSTOM_REALLOC
extern void* b64_realloc(void*, size_t);
#endif
unsigned char *
b64_decode (const char *src, size_t len) {
return b64_decode_ex(src, len, NULL);
}
unsigned char *
b64_decode_ex (const char *src, size_t len, size_t *decsize) {
int i = 0;
int j = 0;
int l = 0;
size_t size = 0;
unsigned char *dec = NULL;
unsigned char buf[3];
unsigned char tmp[4];
// alloc
dec = (unsigned char *) b64_malloc(1);
if (NULL == dec) { return NULL; }
// parse until end of source
while (len--) {
// break if char is `=' or not base64 char
if ('=' == src[j]) { break; }
if (!(isalnum(src[j]) || '+' == src[j] || '/' == src[j])) { break; }
// read up to 4 bytes at a time into `tmp'
tmp[i++] = src[j++];
// if 4 bytes read then decode into `buf'
if (4 == i) {
// translate values in `tmp' from table
for (i = 0; i < 4; ++i) {
// find translation char in `b64_table'
for (l = 0; l < 64; ++l) {
if (tmp[i] == b64_table[l]) {
tmp[i] = l;
break;
}
}
}
// decode
buf[0] = (tmp[0] << 2) + ((tmp[1] & 0x30) >> 4);
buf[1] = ((tmp[1] & 0xf) << 4) + ((tmp[2] & 0x3c) >> 2);
buf[2] = ((tmp[2] & 0x3) << 6) + tmp[3];
// write decoded buffer to `dec'
dec = (unsigned char *) b64_realloc(dec, size + 3);
if (dec != NULL){
for (i = 0; i < 3; ++i) {
dec[size++] = buf[i];
}
} else {
return NULL;
}
// reset
i = 0;
}
}
// remainder
if (i > 0) {
// fill `tmp' with `\0' at most 4 times
for (j = i; j < 4; ++j) {
tmp[j] = '\0';
}
// translate remainder
for (j = 0; j < 4; ++j) {
// find translation char in `b64_table'
for (l = 0; l < 64; ++l) {
if (tmp[j] == b64_table[l]) {
tmp[j] = l;
break;
}
}
}
// decode remainder
buf[0] = (tmp[0] << 2) + ((tmp[1] & 0x30) >> 4);
buf[1] = ((tmp[1] & 0xf) << 4) + ((tmp[2] & 0x3c) >> 2);
buf[2] = ((tmp[2] & 0x3) << 6) + tmp[3];
// write remainer decoded buffer to `dec'
dec = (unsigned char *) b64_realloc(dec, size + (i - 1));
if (dec != NULL){
for (j = 0; (j < i - 1); ++j) {
dec[size++] = buf[j];
}
} else {
return NULL;
}
}
// Make sure we have enough space to add '\0' character at end.
dec = (unsigned char *) b64_realloc(dec, size + 1);
if (dec != NULL){
dec[size] = '\0';
} else {
return NULL;
}
// Return back the size of decoded string if demanded.
if (decsize != NULL) {
*decsize = size;
}
return dec;
}
FROM php:7.4-fpm-alpine AS builder
ENV GRPC_RELEASE_TAG v1.31.x
ADD . /tmp/skywalking
RUN set -ex \
&& apk add --no-cache \
autoconf dpkg-dev dpkg file g++ gcc libc-dev make pkgconf re2c \
go git ca-certificates curl-dev nginx \
git ca-certificates curl-dev nginx \
&& echo "--- clone grpc ---" \
&& git clone --depth 1 -b ${GRPC_RELEASE_TAG} https://github.com/grpc/grpc /var/local/git/grpc \
&& cd /var/local/git/grpc && git submodule update --init \
&& echo "--- installing protobuf ---" \
&& cd third_party/protobuf \
&& ./autogen.sh && ./configure --enable-shared \
&& make -j$(nproc) && make -j$(nproc) check && make install && make clean && ldconfig \
&& echo "--- grpc protobuf ---" \
&& cd /var/local/git/grpc \
&& make -j$(nproc) && make install && make clean && ldconfig \
&& cd /tmp/skywalking \
&& phpize && ./configure && make && make install \
&& go build -o /usr/local/bin/sky-php-agent ./cmd/main.go \
&& cp php.ini $PHP_INI_DIR/conf.d/ext-skywalking.ini \
&& cp service.sh /opt/ \
&& cp nginx.conf /etc/nginx/nginx.conf \
......@@ -19,13 +30,12 @@ RUN set -ex \
etc/nginx/nginx.conf \
var/www/html/index.php \
usr/local/etc/php/conf.d/ext-skywalking.ini \
usr/local/bin/sky-php-agent \
usr/local/lib/php/extensions/no-debug-non-zts-20190902/skywalking.so
FROM php:7.4-fpm-alpine
COPY --from=builder /dist.tar.gz /
RUN set -ex \
&& apk add --no-cache nginx \
&& apk add --no-cache nginx grpc protoc \
&& tar zxvf /dist.tar.gz -C / \
&& rm -fr /usr/src/php.tar.xz \
&& rm -fr /dist.tar.gz
......
Tips: It is recommended to use nginx as the load balancer of SkyWalking-oap-server
# Install SkyWalking PHP Agent
## Requirements
When building directly from Git sources or after custom modifications you might also need:
* grpc and protobuf
* php 7+
* golang 1.13
* SkyWalking oap server
* SkyWalking UI
## PHP extension + Agent
The collect data from your instance you need both the PHP extension, and the agent.
No pre built binaries or PHP extension are availble at the moment, so you need to
build them from a source.
## Install Protobuf
You can run the following commands to install the SkyWalking PHP Agent.
View official documents [protobuf C++ installation](https://github.com/protocolbuffers/protobuf/blob/master/src/README.md)
Or use
## Install PHP Extension
```shell script
curl -Lo v3.3.2.tar.gz https://github.com/SkyAPM/SkyAPM-php-sdk/archive/v3.3.2.tar.gz
tar zxvf v3.3.2.tar.gz
cd SkyAPM-php-sdk-3.3.2
phpize && ./configure && make && make install
sudo apt-get install autoconf automake libtool curl make g++ unzip
git clone https://github.com/protocolbuffers/protobuf.git
cd protobuf
git submodule update --init --recursive
./autogen.sh
./configure
make -j$(nproc)
make check
sudo make install
sudo ldconfig # refresh shared library cache.
```
## Install sky-php-agent
### Build
For installing the sky-php-agent, you first need to build it:
## Install GRPC
View official documents [GRPC C++ installation](https://github.com/grpc/grpc/blob/master/BUILDING.md)
Or use
```shell script
cd SkyAPM-php-sdk-3.3.2
go build -o sky-php-agent cmd/main.go
chmod +x sky-php-agent
cp sky-php-agent /usr/local/bin
sudo apt-get install build-essential autoconf libtool pkg-config cmake
git clone https://github.com/grpc/grpc.git
cd grpc
git submodule update --init --recursive
mkdir -p cmake/build
cd cmake/build
cmake ../.. -DBUILD_SHARED_LIBS=ON -DgRPC_INSTALL=ON
make -j$(nproc)
sudo make install
make clean
sudo ldconfig
```
## Install PHP Extension
```shell script
curl -Lo v4.0.0.tar.gz https://github.com/SkyAPM/SkyAPM-php-sdk/archive/v4.0.0.tar.gz
tar zxvf v4.0.0.tar.gz
cd SkyAPM-php-sdk-4.0.0
phpize && ./configure && make && make install
```
## How to use
......@@ -52,26 +73,6 @@ skywalking.version = 8
; Set app code e.g. MyProjectName
skywalking.app_code = MyProjectName
; sock file path default /tmp/sky-agent.sock
; Warning *[systemd] please disable PrivateTmp feature*
; Warning *Make sure PHP has read and write permissions on the socks file*
skywalking.sock_path=/tmp/sky-agent.sock
```
## sky-php-agent `systemd` example
```shell script
[Unit]
Description=The SkyWalking PHP-Agent Process Manager
After=syslog.target network.target
[Service]
Type=simple
# Modify the corresponding directory and address here
ExecStart=/usr/local/bin/sky-php-agent --grpc=127.0.0.1:11800 --sky-version=8 --socket=/tmp/sky-agent.sock
ExecStop=/bin/kill -SIGINT $MAINPID
Restart=on-failure
[Install]
WantedBy=multi-user.target
; Set grpc address
skywalking.grpc=127.0.0.1:11800
```
# Get started quickly with docker
See [docker-compose.yml](../docker-compose.yml)
See [Dockerfile](../Dockerfile)
See [docker-compose.yml](../docker/docker-compose.yml)
See [Dockerfile](../docker/Dockerfile)
/**
* `encode.c' - b64
*
* copyright (c) 2014 joseph werle
*/
#include <stdio.h>
#include <stdlib.h>
#include "b64.h"
#ifdef b64_USE_CUSTOM_MALLOC
extern void* b64_malloc(size_t);
#endif
#ifdef b64_USE_CUSTOM_REALLOC
extern void* b64_realloc(void*, size_t);
#endif
char *
b64_encode (const unsigned char *src, size_t len) {
int i = 0;
int j = 0;
char *enc = NULL;
size_t size = 0;
unsigned char buf[4];
unsigned char tmp[3];
// alloc
enc = (char *) b64_malloc(1);
if (NULL == enc) { return NULL; }
// parse until end of source
while (len--) {
// read up to 3 bytes at a time into `tmp'
tmp[i++] = *(src++);
// if 3 bytes read then encode into `buf'
if (3 == i) {
buf[0] = (tmp[0] & 0xfc) >> 2;
buf[1] = ((tmp[0] & 0x03) << 4) + ((tmp[1] & 0xf0) >> 4);
buf[2] = ((tmp[1] & 0x0f) << 2) + ((tmp[2] & 0xc0) >> 6);
buf[3] = tmp[2] & 0x3f;
// allocate 4 new byts for `enc` and
// then translate each encoded buffer
// part by index from the base 64 index table
// into `enc' unsigned char array
enc = (char *) b64_realloc(enc, size + 4);
for (i = 0; i < 4; ++i) {
enc[size++] = b64_table[buf[i]];
}
// reset index
i = 0;
}
}
// remainder
if (i > 0) {
// fill `tmp' with `\0' at most 3 times
for (j = i; j < 3; ++j) {
tmp[j] = '\0';
}
// perform same codec as above
buf[0] = (tmp[0] & 0xfc) >> 2;
buf[1] = ((tmp[0] & 0x03) << 4) + ((tmp[1] & 0xf0) >> 4);
buf[2] = ((tmp[1] & 0x0f) << 2) + ((tmp[2] & 0xc0) >> 6);
buf[3] = tmp[2] & 0x3f;
// perform same write to `enc` with new allocation
for (j = 0; (j < i + 1); ++j) {
enc = (char *) b64_realloc(enc, size + 1);
enc[size++] = b64_table[buf[j]];
}
// while there is still a remainder
// append `=' to `enc'
while ((i++ < 3)) {
enc = (char *) b64_realloc(enc, size + 1);
enc[size++] = '=';
}
}
// Make sure we have enough space to add '\0' character at end.
enc = (char *) b64_realloc(enc, size + 1);
enc[size] = '\0';
return enc;
}
#!/usr/bin/env bash
rm -r /tmp/protoc-tmp
mkdir /tmp/protoc-tmp
# gen v1
protoc -I reporter/protocol/v1 --go_out=plugins=grpc:/tmp/protoc-tmp reporter/protocol/v1/common/common.proto
protoc -I reporter/protocol/v1 --go_out=plugins=grpc:/tmp/protoc-tmp reporter/protocol/v1/common/CLR.proto reporter/protocol/v1/common/JVM.proto reporter/protocol/v1/common/trace-common.proto
protoc -I reporter/protocol/v1 --go_out=plugins=grpc:/tmp/protoc-tmp reporter/protocol/v1/language-agent/*.proto
# gen v2
protoc -I reporter/protocol/v2 --go_out=plugins=grpc:/tmp/protoc-tmp reporter/protocol/v2/common/common.proto
protoc -I reporter/protocol/v2 --go_out=plugins=grpc:/tmp/protoc-tmp reporter/protocol/v2/common/CLR.proto reporter/protocol/v2/common/JVM.proto reporter/protocol/v2/common/trace-common.proto
protoc -I reporter/protocol/v2 --go_out=plugins=grpc:/tmp/protoc-tmp reporter/protocol/v2/language-agent-v2/*.proto
protoc -I reporter/protocol/v2 --go_out=plugins=grpc:/tmp/protoc-tmp reporter/protocol/v2/profile/*.proto
protoc -I reporter/protocol/v2 --go_out=plugins=grpc:/tmp/protoc-tmp reporter/protocol/v2/register/*.proto
# gen v3
protoc -I reporter/protocol/v3 --go_out=plugins=grpc:/tmp/protoc-tmp reporter/protocol/v3/common/Common.proto
protoc -I reporter/protocol/v3 --go_out=plugins=grpc:/tmp/protoc-tmp reporter/protocol/v3/language-agent/*.proto
protoc -I reporter/protocol/v3 --go_out=plugins=grpc:/tmp/protoc-tmp reporter/protocol/v3/profile/*.proto
protoc -I reporter/protocol/v3 --go_out=plugins=grpc:/tmp/protoc-tmp reporter/protocol/v3/management/*.proto
find /tmp/protoc-tmp -type f -print0 | xargs -0 sed -i "" "s/skywalking\/network/github.com\/SkyAPM\/SkyAPM-php-sdk\/reporter\/network/g"
rm -r reporter/network
mv /tmp/protoc-tmp/skywalking/* reporter
rm -r /tmp/protoc-tmp
echo "v3 gen success"
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY=
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q=
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo=
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/urfave/cli v1.22.1 h1:+mkCCcOFKPnCmVYVcURKps1Xe+3zP90gSYGNfRkjoIY=
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
github.com/urfave/cli v1.22.2 h1:gsqYFH8bb9ekPA12kRo0hfjngWQjkJPlN9R0N78BoUo=
github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
github.com/urfave/cli/v2 v2.0.0 h1:+HU9SCbu8GnEUFtIBfuUNXN39ofWViIEJIp6SURMpCg=
github.com/urfave/cli/v2 v2.0.0/go.mod h1:SE9GqnLQmjVa0iPEY0f1w3ygNIYcIJ0OKPMoW2caLfQ=
github.com/urfave/cli/v2 v2.1.1 h1:Qt8FeAtxE/vfdrLmR3rxR6JRE0RoVmbXu8+6kZtYU4k=
github.com/urfave/cli/v2 v2.1.1/go.mod h1:SE9GqnLQmjVa0iPEY0f1w3ygNIYcIJ0OKPMoW2caLfQ=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894 h1:Cz4ceDQGXuKRnVBDTS23GTn/pU5OE2C0WrNTOYK1Uuc=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8 h1:Nw54tB0rB7hY/N0NQvRW8DG4Yk3Q6T9cu9RcFQDu1tc=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/grpc v1.21.1 h1:j6XxA85m/6txkUCHvzlV5f+HBNl/1r5cZ2A/3IEFOO8=
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
......@@ -12,4 +12,4 @@ extension=skywalking.so
skywalking.app_code = hello_skywalking
skywalking.enable = 1
skywalking.version = 8
skywalking.sock_path = /tmp/sky-agent.sock
skywalking.grpc = 127.0.0.1:11800
......@@ -16,16 +16,33 @@
+----------------------------------------------------------------------+
*/
/* $Id$ */
#ifndef PHP_SKYWALKING_H
#define PHP_SKYWALKING_H
#include "src/common.h"
SKY_BEGIN_EXTERN_C()
#include "php.h"
#include "php_ini.h"
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "main/SAPI.h"
#include "zend_API.h"
#include <curl/curl.h>
#include "ext/standard/url.h"
#include "zend_interfaces.h"
#include "ext/pdo/php_pdo_driver.h"
extern zend_module_entry skywalking_module_entry;
#define phpext_skywalking_ptr &skywalking_module_entry
#define SKY_DEBUG 0
#define PHP_SKYWALKING_VERSION "3.3.2" /* Replace with version number for your extension */
#define PHP_SKYWALKING_VERSION "3.3.2"
#ifdef PHP_WIN32
# define PHP_SKYWALKING_API __declspec(dllexport)
......@@ -39,170 +56,26 @@ extern zend_module_entry skywalking_module_entry;
#include "TSRM.h"
#endif
#ifdef ZTS
#define SKY_G(v) TSRMG(skywalking_globals_id, zend_skywalking_globals *, v)
#else
#define SKY_G(v) (skywalking_globals.v)
#endif
#define S_SEND_TYPE_CLOSE (1<<0L)
#define S_SEND_TYPE_GRPC (1<<1L)
#define S_SEND_TYPE_WRITE (1<<2L)
#define USE_PARENT_TRACE_ID 1
#define DONOT_USE_PARENT_TRACE_ID 0
#define SHARED_MEMORY_KEY 428935192
#define SKYWALKING_SEGMENT "sg" //全部段节点
#define SKYWALKING_DISTRIBUTED_TRACEIDS "gt"//DistributedTraceIds
#define SKYWALKING_TRACE_SEGMENT_ID "ts"//本次请求id
#define SKYWALKING_APPLICATION_ID "ai"//app id
#define SKYWALKING_APPLICATION_INSTANCE_ID "ii"//实例id
#define SKYWALKING_FATHER_NODE_DATA "rs" //父节点数据
#define SKYWALKING_SPANS_NODE_DATA "ss" //span节点数据集合
#define SKYWALKING_PARENT_TRACE_SEGMENT_ID "ts" //本次请求id
#define SKYWALKING_PARENT_APPLICATION_ID "ai"//app id
#define SKYWALKING_PARENT_SPAN_ID "si"//spanid
#define SKYWALKING_PARENT_SERVICE_ID "vi"//
#define SKYWALKING_PARENT_SERVICE_NAME "vn"
#define SKYWALKING_NETWORK_ADDRESS_ID "ni"
#define SKYWALKING_NETWORK_ADDRESS "nn"
#define SKYWALKING_ENTRY_APPLICATION_INSTANCE_ID "ea"
#define SKYWALKING_ENTRY_SERVICE_ID "ei"
#define SKYWALKING_ENTRY_SERVICE_NAME "en"
#define SKYWALKING_REF_TYPE_VALUE "rv"
#define SKYWALKING_SPAN_ID "si" //SpanId
#define SKYWALKING_SPAN_TYPE_VALUE "tv"
#define SKYWALKING_SPAN_LAYER_VALUE "lv"
#define SKYWALKING_FATHER_SPAN_ID "ps" //父节点传过来的SpanId
#define SKYWALKING_STARTTIME "st" //开始时间
#define SKYWALKING_ENDTIME "et" //结束时间
#define SKYWALKING_COMPONENT_ID "ci"
#define SKYWALKING_COMPONENT_NAME "cn"
#define SKYWALKING_OPERATION_NAME_ID "oi"
#define SKYWALKING_OPERATION_NAME "on"// Span 的服务URI
#define SKYWALKING_PEER_ID "pi"
#define SKYWALKING_PEER "pn"
#define SKYWALKING_IS_ERROR "ie"
#define SKYWALKING_TAGS "to"
#define SKYWALKING_LOGS "lo"
#define SKYWALKING_KEY "k"
#define SKYWALKING_VALUE "v"
#define SKYWALKING_TIME "ti"
#define SKYWALKING_LOG_DATA "ld"
#define REDIS_KEY_KEY "|dump|exists|expire|expireat|move|persist|pexpire|pexpireat|pttl|rename|renamenx|sort|ttl|type|"
#define REDIS_KEY_STRING "|append|bitcount|bitfield|decr|decrby|get|getbit|getrange|getset|incr|incrby|incrbyfloat|psetex|set|setbit|setex|setnx|setrange|strlen|"
#define REDIS_OPERATION_STRING "|bitop|"
#define REDIS_KEY_HASH "|hdel|hexists|hget|hgetall|hincrby|hincrbyfloat|hkeys|hlen|hmget|hmset|hscan|hset|hsetnx|hvals|hstrlen|"
#define REDIS_KEY_LIST "|lindex|linsert|llen|lpop|lpush|lpushx|lrange|lrem|lset|ltrim|rpop|rpush|rpushx|"
#define REDIS_KEY_SET "|sadd|scard|sismember|smembers|spop|srandmember|srem|sscan|"
#define REDIS_KEY_SORT "|zadd|zcard|zcount|zincrby|zrange|zrangebyscore|zrank|zrem|zremrangebyrank|zremrangebyscore|zrevrange|zrevrangebyscore|zrevrank|zscore|zscan|zrangebylex|zrevrangebylex|zremrangebylex|zlexcount|"
#define REDIS_KEY_HLL "|pfadd|watch|"
#define REDIS_KEY_GEO "|geoadd|geohash|geopos|geodist|georadius|georadiusbymember|"
#define MEMCACHED_KEY_STRING "|set|setbykey|setmulti|setmultibykey|add|addbykey|replace|replacebykey|append|appendbykey|prepend|prependbykey|cas|casbykey|get|getbykey|getmulti|getmultibykey|getallkeys|delete|deletebykey|deletemulti|deletemultibykey|increment|incrementbykey|decrement|decrementbykey|"
#define MEMCACHED_KEY_STATS "|getstats|"
#define MEMCACHED_KEY_OTHERS "|ispersistent|ispristine|flush|flushbuffers|getdelayed|getdelayedbykey|fetch|fetchall|addserver|addservers|getoption|getresultcode|setoption|setoptions|getserverbykey|getserverlist|resetserverlist|getversion|quit|setsaslauthdata|touch|touchbykey|"
#ifdef ZEND_ENABLE_ZVAL_LONG64
#define PRId3264 PRId64
#else
#define PRId3264 PRId32
#endif
#define RAND_RANGE(__n, __min, __max, __tmax) \
(__n) = ((__min) + (zend_long) ((double) ( (double) (__max) - (__min) + 1.0) * ((__n) / ((__tmax) + 1.0))))
#define PHP_MT_RAND_MAX ((zend_long) (0x7FFFFFFF)) /* (1<<31) - 1 */
#ifdef PHP_WIN32
#define GENERATE_SEED() (((zend_long) (time(0) * GetCurrentProcessId())) ^ ((zend_long) (1000000.0 * php_combined_lcg())))
#else
#define GENERATE_SEED() (((zend_long) (time(0) * getpid())) ^ ((zend_long) (1000000.0 * php_combined_lcg())))
#endif
void *SKY_ADD_ASSOC_ZVAL(zval *z, const char *k) {
zval null_array;
array_init(&null_array);
add_assoc_zval(z, k, &null_array);
return NULL;
}
typedef struct ContextCarrier {
zval primaryDistributedTraceId;
zval traceSegmentId;
zval spanId;
zval parentServiceInstanceId;
zval entryServiceInstanceId;
zval peerHost;
zval entryEndpointName;
zval parentEndpointName;
}ContextCarrier;
PHP_MINIT_FUNCTION (skywalking);
PHP_MSHUTDOWN_FUNCTION (skywalking);
PHP_RINIT_FUNCTION (skywalking);
PHP_RSHUTDOWN_FUNCTION (skywalking);
PHP_MINFO_FUNCTION (skywalking);
static char *sky_json_encode(zval *parameter);
static long get_second();
static char *get_millisecond();
static char *generate_sw3(zend_long span_id, char *peer_host, char *operation_name);
static char *generate_sw6(zend_long span_id, char *peer_host);
static char *generate_sw8(zend_long span_id, char *peer_host);
static void generate_context();
static char *get_page_request_uri();
static char *get_page_request_peer();
static void write_log( char *text);
static void request_init();
static void zval_b64_encode(zval *out, char *in);
static void zval_b64_decode(zval *out, char *in);
static char *sky_get_class_name(zval *obj);
static zval *sky_read_property(zval *obj, const char *property, int parent);
static char *sky_redis_fnamewall(const char *function_name);
static int sky_redis_opt_for_string_key(char *fnamewall);
static char *sky_memcached_fnamewall(const char *function_name);
static int sky_memcached_opt_for_string_key(char *fnamewall);
void sky_curl_exec_handler(INTERNAL_FUNCTION_PARAMETERS);
void sky_curl_setopt_handler(INTERNAL_FUNCTION_PARAMETERS);
void sky_curl_setopt_array_handler(INTERNAL_FUNCTION_PARAMETERS);
void sky_curl_close_handler(INTERNAL_FUNCTION_PARAMETERS);
static void sky_flush_all();
static zval *get_first_span();
static zval *get_spans();
static char* _get_current_machine_ip();
static void (*orig_curl_exec)(INTERNAL_FUNCTION_PARAMETERS) = NULL;
static void (*orig_curl_setopt)(INTERNAL_FUNCTION_PARAMETERS) = NULL;
static void (*orig_curl_setopt_array)(INTERNAL_FUNCTION_PARAMETERS) = NULL;
static void (*orig_curl_close)(INTERNAL_FUNCTION_PARAMETERS) = NULL;
/*
Declare any global variables you may need between the BEGIN
and END macros here:
*/
ZEND_BEGIN_MODULE_GLOBALS(skywalking)
char *sock_path;
char *authentication;
char *app_code;
char *grpc;
zend_bool enable;
zval UpstreamSegment;
zval context;
zval curl_header;
zval curl_header_send;
int version;
int version;
void *segment;
ZEND_END_MODULE_GLOBALS(skywalking)
extern ZEND_DECLARE_MODULE_GLOBALS(skywalking);
/* Always refer to the globals in your function as SKYWALKING_G(variable).
You are encouraged to rename these macros something shorter, see
examples in any other php module directory.
*/
#ifdef ZTS
#define SKYWALKING_G(v) TSRMG(skywalking_globals_id, zend_skywalking_globals *, v)
#else
......@@ -213,52 +86,5 @@ extern ZEND_DECLARE_MODULE_GLOBALS(skywalking);
ZEND_TSRMLS_CACHE_EXTERN()
#endif
#ifdef __unix
#ifdef __linux
#define SKY_OS_NAME "Linux"
#endif
#ifdef __sun
#ifdef __sparc
#define SKY_OS_NAME "Sun SPARC"
#else
#define SKY_OS_NAME "Sun X86"
#endif
#endif
#ifdef _AIX
#define SKY_OS_NAME "AIX"
#endif
#else
#ifdef WINVER
#define SKY_OS_NAME "Windows"
#else
#ifdef __APPLE__
#define SKY_OS_NAME "Darwin"
#else
#define SKY_OS_NAME "Unknown"
#endif
#endif
#endif
#endif /* PHP_SKYWALKING_H */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: noet sw=4 ts=4 fdm=marker
* vim<600: noet sw=4 ts=4
*/
SKY_END_EXTERN_C()
#endif
\ No newline at end of file
package logger
import (
"github.com/sirupsen/logrus"
"os"
)
var Log *logrus.Logger
func init() {
if Log == nil {
Log = logrus.New()
}
Log.SetOutput(os.Stdout)
Log.SetFormatter(&logrus.TextFormatter{
FullTimestamp: true,
TimestampFormat: "2006-01-02 15:04:05",
})
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: common/common.proto
package v1
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
// In most cases, detect point should be `server` or `client`.
// Even in service mesh, this means `server`/`client` side sidecar
// `proxy` is reserved only.
type DetectPointV1 int32
const (
DetectPointV1_client DetectPointV1 = 0
DetectPointV1_server DetectPointV1 = 1
DetectPointV1_proxy DetectPointV1 = 2
)
var DetectPointV1_name = map[int32]string{
0: "client",
1: "server",
2: "proxy",
}
var DetectPointV1_value = map[string]int32{
"client": 0,
"server": 1,
"proxy": 2,
}
func (x DetectPointV1) String() string {
return proto.EnumName(DetectPointV1_name, int32(x))
}
func (DetectPointV1) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_8f954d82c0b891f6, []int{0}
}
type KeyStringValuePairV1 struct {
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *KeyStringValuePairV1) Reset() { *m = KeyStringValuePairV1{} }
func (m *KeyStringValuePairV1) String() string { return proto.CompactTextString(m) }
func (*KeyStringValuePairV1) ProtoMessage() {}
func (*KeyStringValuePairV1) Descriptor() ([]byte, []int) {
return fileDescriptor_8f954d82c0b891f6, []int{0}
}
func (m *KeyStringValuePairV1) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KeyStringValuePairV1.Unmarshal(m, b)
}
func (m *KeyStringValuePairV1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_KeyStringValuePairV1.Marshal(b, m, deterministic)
}
func (m *KeyStringValuePairV1) XXX_Merge(src proto.Message) {
xxx_messageInfo_KeyStringValuePairV1.Merge(m, src)
}
func (m *KeyStringValuePairV1) XXX_Size() int {
return xxx_messageInfo_KeyStringValuePairV1.Size(m)
}
func (m *KeyStringValuePairV1) XXX_DiscardUnknown() {
xxx_messageInfo_KeyStringValuePairV1.DiscardUnknown(m)
}
var xxx_messageInfo_KeyStringValuePairV1 proto.InternalMessageInfo
func (m *KeyStringValuePairV1) GetKey() string {
if m != nil {
return m.Key
}
return ""
}
func (m *KeyStringValuePairV1) GetValue() string {
if m != nil {
return m.Value
}
return ""
}
type KeyIntValuePair struct {
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
Value int32 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *KeyIntValuePair) Reset() { *m = KeyIntValuePair{} }
func (m *KeyIntValuePair) String() string { return proto.CompactTextString(m) }
func (*KeyIntValuePair) ProtoMessage() {}
func (*KeyIntValuePair) Descriptor() ([]byte, []int) {
return fileDescriptor_8f954d82c0b891f6, []int{1}
}
func (m *KeyIntValuePair) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KeyIntValuePair.Unmarshal(m, b)
}
func (m *KeyIntValuePair) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_KeyIntValuePair.Marshal(b, m, deterministic)
}
func (m *KeyIntValuePair) XXX_Merge(src proto.Message) {
xxx_messageInfo_KeyIntValuePair.Merge(m, src)
}
func (m *KeyIntValuePair) XXX_Size() int {
return xxx_messageInfo_KeyIntValuePair.Size(m)
}
func (m *KeyIntValuePair) XXX_DiscardUnknown() {
xxx_messageInfo_KeyIntValuePair.DiscardUnknown(m)
}
var xxx_messageInfo_KeyIntValuePair proto.InternalMessageInfo
func (m *KeyIntValuePair) GetKey() string {
if m != nil {
return m.Key
}
return ""
}
func (m *KeyIntValuePair) GetValue() int32 {
if m != nil {
return m.Value
}
return 0
}
type CPUV1 struct {
UsagePercent float64 `protobuf:"fixed64,2,opt,name=usagePercent,proto3" json:"usagePercent,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CPUV1) Reset() { *m = CPUV1{} }
func (m *CPUV1) String() string { return proto.CompactTextString(m) }
func (*CPUV1) ProtoMessage() {}
func (*CPUV1) Descriptor() ([]byte, []int) {
return fileDescriptor_8f954d82c0b891f6, []int{2}
}
func (m *CPUV1) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CPUV1.Unmarshal(m, b)
}
func (m *CPUV1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CPUV1.Marshal(b, m, deterministic)
}
func (m *CPUV1) XXX_Merge(src proto.Message) {
xxx_messageInfo_CPUV1.Merge(m, src)
}
func (m *CPUV1) XXX_Size() int {
return xxx_messageInfo_CPUV1.Size(m)
}
func (m *CPUV1) XXX_DiscardUnknown() {
xxx_messageInfo_CPUV1.DiscardUnknown(m)
}
var xxx_messageInfo_CPUV1 proto.InternalMessageInfo
func (m *CPUV1) GetUsagePercent() float64 {
if m != nil {
return m.UsagePercent
}
return 0
}
type CommandsV1 struct {
Commands []*CommandV1 `protobuf:"bytes,1,rep,name=commands,proto3" json:"commands,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CommandsV1) Reset() { *m = CommandsV1{} }
func (m *CommandsV1) String() string { return proto.CompactTextString(m) }
func (*CommandsV1) ProtoMessage() {}
func (*CommandsV1) Descriptor() ([]byte, []int) {
return fileDescriptor_8f954d82c0b891f6, []int{3}
}
func (m *CommandsV1) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CommandsV1.Unmarshal(m, b)
}
func (m *CommandsV1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CommandsV1.Marshal(b, m, deterministic)
}
func (m *CommandsV1) XXX_Merge(src proto.Message) {
xxx_messageInfo_CommandsV1.Merge(m, src)
}
func (m *CommandsV1) XXX_Size() int {
return xxx_messageInfo_CommandsV1.Size(m)
}
func (m *CommandsV1) XXX_DiscardUnknown() {
xxx_messageInfo_CommandsV1.DiscardUnknown(m)
}
var xxx_messageInfo_CommandsV1 proto.InternalMessageInfo
func (m *CommandsV1) GetCommands() []*CommandV1 {
if m != nil {
return m.Commands
}
return nil
}
type CommandV1 struct {
Command string `protobuf:"bytes,1,opt,name=command,proto3" json:"command,omitempty"`
Args []*KeyStringValuePairV1 `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CommandV1) Reset() { *m = CommandV1{} }
func (m *CommandV1) String() string { return proto.CompactTextString(m) }
func (*CommandV1) ProtoMessage() {}
func (*CommandV1) Descriptor() ([]byte, []int) {
return fileDescriptor_8f954d82c0b891f6, []int{4}
}
func (m *CommandV1) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CommandV1.Unmarshal(m, b)
}
func (m *CommandV1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CommandV1.Marshal(b, m, deterministic)
}
func (m *CommandV1) XXX_Merge(src proto.Message) {
xxx_messageInfo_CommandV1.Merge(m, src)
}
func (m *CommandV1) XXX_Size() int {
return xxx_messageInfo_CommandV1.Size(m)
}
func (m *CommandV1) XXX_DiscardUnknown() {
xxx_messageInfo_CommandV1.DiscardUnknown(m)
}
var xxx_messageInfo_CommandV1 proto.InternalMessageInfo
func (m *CommandV1) GetCommand() string {
if m != nil {
return m.Command
}
return ""
}
func (m *CommandV1) GetArgs() []*KeyStringValuePairV1 {
if m != nil {
return m.Args
}
return nil
}
func init() {
proto.RegisterEnum("DetectPointV1", DetectPointV1_name, DetectPointV1_value)
proto.RegisterType((*KeyStringValuePairV1)(nil), "KeyStringValuePairV1")
proto.RegisterType((*KeyIntValuePair)(nil), "KeyIntValuePair")
proto.RegisterType((*CPUV1)(nil), "CPUV1")
proto.RegisterType((*CommandsV1)(nil), "CommandsV1")
proto.RegisterType((*CommandV1)(nil), "CommandV1")
}
func init() { proto.RegisterFile("common/common.proto", fileDescriptor_8f954d82c0b891f6) }
var fileDescriptor_8f954d82c0b891f6 = []byte{
// 324 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x91, 0x41, 0x4b, 0xeb, 0x40,
0x14, 0x85, 0x5f, 0xd2, 0x97, 0xbe, 0xd7, 0xfb, 0x9e, 0x18, 0xc6, 0x0a, 0x41, 0x5c, 0x94, 0x2c,
0xa4, 0x2a, 0x4c, 0x49, 0x75, 0xe3, 0xc6, 0x85, 0x75, 0x23, 0x05, 0x19, 0x52, 0x8c, 0xe0, 0x6e,
0x1c, 0x2f, 0x31, 0x24, 0x99, 0x29, 0x93, 0x69, 0x6b, 0xfe, 0x92, 0xbf, 0x52, 0x92, 0x4c, 0x2b,
0x82, 0xe0, 0x6a, 0xee, 0x3d, 0xdf, 0x39, 0xc3, 0x30, 0x07, 0x0e, 0x84, 0x2a, 0x4b, 0x25, 0x27,
0xdd, 0x41, 0x97, 0x5a, 0x19, 0x15, 0x5e, 0xc3, 0x70, 0x8e, 0xf5, 0xc2, 0xe8, 0x4c, 0xa6, 0x09,
0x2f, 0x56, 0xc8, 0x78, 0xa6, 0x93, 0x88, 0xf8, 0xd0, 0xcb, 0xb1, 0x0e, 0x9c, 0x91, 0x33, 0x1e,
0xc4, 0xcd, 0x48, 0x86, 0xe0, 0xad, 0x1b, 0x43, 0xe0, 0xb6, 0x5a, 0xb7, 0x84, 0x57, 0xb0, 0x3f,
0xc7, 0xfa, 0x4e, 0x9a, 0x5d, 0xf8, 0xa7, 0xa8, 0xb7, 0x8d, 0x9e, 0x83, 0x37, 0x63, 0x0f, 0x49,
0x44, 0x42, 0xf8, 0xbf, 0xaa, 0x78, 0x8a, 0x0c, 0xb5, 0x40, 0x69, 0x5a, 0x97, 0x13, 0x7f, 0xd1,
0xc2, 0x4b, 0x80, 0x99, 0x2a, 0x4b, 0x2e, 0x5f, 0xaa, 0x24, 0x22, 0x27, 0xf0, 0x57, 0xd8, 0x2d,
0x70, 0x46, 0xbd, 0xf1, 0xbf, 0x29, 0x50, 0x8b, 0x93, 0x28, 0xde, 0xb1, 0x90, 0xc1, 0x60, 0x27,
0x93, 0x00, 0xfe, 0x58, 0x60, 0xdf, 0xb6, 0x5d, 0xc9, 0x29, 0xfc, 0xe6, 0x3a, 0xad, 0x02, 0xb7,
0xbd, 0xea, 0x90, 0x7e, 0xf7, 0x23, 0x71, 0x6b, 0x39, 0x9b, 0xc2, 0xde, 0x2d, 0x1a, 0x14, 0x86,
0xa9, 0x4c, 0x9a, 0x24, 0x22, 0x00, 0x7d, 0x51, 0x64, 0x28, 0x8d, 0xff, 0xab, 0x99, 0x2b, 0xd4,
0x6b, 0xd4, 0xbe, 0x43, 0x06, 0xe0, 0x2d, 0xb5, 0x7a, 0xab, 0x7d, 0xf7, 0x26, 0x85, 0xb1, 0xd2,
0x29, 0xe5, 0x4b, 0x2e, 0x5e, 0x91, 0x56, 0x79, 0xbd, 0xe1, 0x45, 0x9e, 0xc9, 0x46, 0x29, 0xa9,
0x44, 0xb3, 0x51, 0x3a, 0xa7, 0x5d, 0x2b, 0xcc, 0x79, 0x3a, 0xfe, 0x34, 0x4c, 0x2c, 0xb4, 0x95,
0x4d, 0xd6, 0xd1, 0xbb, 0x7b, 0xb4, 0xc8, 0xeb, 0x47, 0x9b, 0xbf, 0xef, 0x30, 0x6b, 0x9a, 0x14,
0xaa, 0x78, 0xee, 0xb7, 0x9d, 0x5e, 0x7c, 0x04, 0x00, 0x00, 0xff, 0xff, 0x1d, 0xd7, 0xb0, 0x33,
0xea, 0x01, 0x00, 0x00,
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: common/common.proto
package v2
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
// In most cases, detect point should be `server` or `client`.
// Even in service mesh, this means `server`/`client` side sidecar
// `proxy` is reserved only.
type DetectPointV2 int32
const (
DetectPointV2_client DetectPointV2 = 0
DetectPointV2_server DetectPointV2 = 1
DetectPointV2_proxy DetectPointV2 = 2
)
var DetectPointV2_name = map[int32]string{
0: "client",
1: "server",
2: "proxy",
}
var DetectPointV2_value = map[string]int32{
"client": 0,
"server": 1,
"proxy": 2,
}
func (x DetectPointV2) String() string {
return proto.EnumName(DetectPointV2_name, int32(x))
}
func (DetectPointV2) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_8f954d82c0b891f6, []int{0}
}
type KeyStringValuePairV2 struct {
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *KeyStringValuePairV2) Reset() { *m = KeyStringValuePairV2{} }
func (m *KeyStringValuePairV2) String() string { return proto.CompactTextString(m) }
func (*KeyStringValuePairV2) ProtoMessage() {}
func (*KeyStringValuePairV2) Descriptor() ([]byte, []int) {
return fileDescriptor_8f954d82c0b891f6, []int{0}
}
func (m *KeyStringValuePairV2) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KeyStringValuePairV2.Unmarshal(m, b)
}
func (m *KeyStringValuePairV2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_KeyStringValuePairV2.Marshal(b, m, deterministic)
}
func (m *KeyStringValuePairV2) XXX_Merge(src proto.Message) {
xxx_messageInfo_KeyStringValuePairV2.Merge(m, src)
}
func (m *KeyStringValuePairV2) XXX_Size() int {
return xxx_messageInfo_KeyStringValuePairV2.Size(m)
}
func (m *KeyStringValuePairV2) XXX_DiscardUnknown() {
xxx_messageInfo_KeyStringValuePairV2.DiscardUnknown(m)
}
var xxx_messageInfo_KeyStringValuePairV2 proto.InternalMessageInfo
func (m *KeyStringValuePairV2) GetKey() string {
if m != nil {
return m.Key
}
return ""
}
func (m *KeyStringValuePairV2) GetValue() string {
if m != nil {
return m.Value
}
return ""
}
type KeyIntValuePairV2 struct {
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
Value int32 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *KeyIntValuePairV2) Reset() { *m = KeyIntValuePairV2{} }
func (m *KeyIntValuePairV2) String() string { return proto.CompactTextString(m) }
func (*KeyIntValuePairV2) ProtoMessage() {}
func (*KeyIntValuePairV2) Descriptor() ([]byte, []int) {
return fileDescriptor_8f954d82c0b891f6, []int{1}
}
func (m *KeyIntValuePairV2) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KeyIntValuePairV2.Unmarshal(m, b)
}
func (m *KeyIntValuePairV2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_KeyIntValuePairV2.Marshal(b, m, deterministic)
}
func (m *KeyIntValuePairV2) XXX_Merge(src proto.Message) {
xxx_messageInfo_KeyIntValuePairV2.Merge(m, src)
}
func (m *KeyIntValuePairV2) XXX_Size() int {
return xxx_messageInfo_KeyIntValuePairV2.Size(m)
}
func (m *KeyIntValuePairV2) XXX_DiscardUnknown() {
xxx_messageInfo_KeyIntValuePairV2.DiscardUnknown(m)
}
var xxx_messageInfo_KeyIntValuePairV2 proto.InternalMessageInfo
func (m *KeyIntValuePairV2) GetKey() string {
if m != nil {
return m.Key
}
return ""
}
func (m *KeyIntValuePairV2) GetValue() int32 {
if m != nil {
return m.Value
}
return 0
}
type CPUV2 struct {
UsagePercent float64 `protobuf:"fixed64,2,opt,name=usagePercent,proto3" json:"usagePercent,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CPUV2) Reset() { *m = CPUV2{} }
func (m *CPUV2) String() string { return proto.CompactTextString(m) }
func (*CPUV2) ProtoMessage() {}
func (*CPUV2) Descriptor() ([]byte, []int) {
return fileDescriptor_8f954d82c0b891f6, []int{2}
}
func (m *CPUV2) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CPUV2.Unmarshal(m, b)
}
func (m *CPUV2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CPUV2.Marshal(b, m, deterministic)
}
func (m *CPUV2) XXX_Merge(src proto.Message) {
xxx_messageInfo_CPUV2.Merge(m, src)
}
func (m *CPUV2) XXX_Size() int {
return xxx_messageInfo_CPUV2.Size(m)
}
func (m *CPUV2) XXX_DiscardUnknown() {
xxx_messageInfo_CPUV2.DiscardUnknown(m)
}
var xxx_messageInfo_CPUV2 proto.InternalMessageInfo
func (m *CPUV2) GetUsagePercent() float64 {
if m != nil {
return m.UsagePercent
}
return 0
}
type CommandsV2 struct {
Commands []*CommandV2 `protobuf:"bytes,1,rep,name=commands,proto3" json:"commands,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CommandsV2) Reset() { *m = CommandsV2{} }
func (m *CommandsV2) String() string { return proto.CompactTextString(m) }
func (*CommandsV2) ProtoMessage() {}
func (*CommandsV2) Descriptor() ([]byte, []int) {
return fileDescriptor_8f954d82c0b891f6, []int{3}
}
func (m *CommandsV2) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CommandsV2.Unmarshal(m, b)
}
func (m *CommandsV2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CommandsV2.Marshal(b, m, deterministic)
}
func (m *CommandsV2) XXX_Merge(src proto.Message) {
xxx_messageInfo_CommandsV2.Merge(m, src)
}
func (m *CommandsV2) XXX_Size() int {
return xxx_messageInfo_CommandsV2.Size(m)
}
func (m *CommandsV2) XXX_DiscardUnknown() {
xxx_messageInfo_CommandsV2.DiscardUnknown(m)
}
var xxx_messageInfo_CommandsV2 proto.InternalMessageInfo
func (m *CommandsV2) GetCommands() []*CommandV2 {
if m != nil {
return m.Commands
}
return nil
}
type CommandV2 struct {
Command string `protobuf:"bytes,1,opt,name=command,proto3" json:"command,omitempty"`
Args []*KeyStringValuePairV2 `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CommandV2) Reset() { *m = CommandV2{} }
func (m *CommandV2) String() string { return proto.CompactTextString(m) }
func (*CommandV2) ProtoMessage() {}
func (*CommandV2) Descriptor() ([]byte, []int) {
return fileDescriptor_8f954d82c0b891f6, []int{4}
}
func (m *CommandV2) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CommandV2.Unmarshal(m, b)
}
func (m *CommandV2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CommandV2.Marshal(b, m, deterministic)
}
func (m *CommandV2) XXX_Merge(src proto.Message) {
xxx_messageInfo_CommandV2.Merge(m, src)
}
func (m *CommandV2) XXX_Size() int {
return xxx_messageInfo_CommandV2.Size(m)
}
func (m *CommandV2) XXX_DiscardUnknown() {
xxx_messageInfo_CommandV2.DiscardUnknown(m)
}
var xxx_messageInfo_CommandV2 proto.InternalMessageInfo
func (m *CommandV2) GetCommand() string {
if m != nil {
return m.Command
}
return ""
}
func (m *CommandV2) GetArgs() []*KeyStringValuePairV2 {
if m != nil {
return m.Args
}
return nil
}
func init() {
proto.RegisterEnum("DetectPointV2", DetectPointV2_name, DetectPointV2_value)
proto.RegisterType((*KeyStringValuePairV2)(nil), "KeyStringValuePairV2")
proto.RegisterType((*KeyIntValuePairV2)(nil), "KeyIntValuePairV2")
proto.RegisterType((*CPUV2)(nil), "CPUV2")
proto.RegisterType((*CommandsV2)(nil), "CommandsV2")
proto.RegisterType((*CommandV2)(nil), "CommandV2")
}
func init() { proto.RegisterFile("common/common.proto", fileDescriptor_8f954d82c0b891f6) }
var fileDescriptor_8f954d82c0b891f6 = []byte{
// 320 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x91, 0x41, 0x4b, 0xfb, 0x30,
0x18, 0xc6, 0xff, 0xed, 0xfe, 0x9d, 0xee, 0x55, 0xa1, 0xc6, 0x09, 0x45, 0x3c, 0x8c, 0x1e, 0x64,
0x2a, 0x74, 0x10, 0xbd, 0x09, 0x1e, 0x9c, 0x17, 0x19, 0x48, 0xe8, 0xb0, 0x82, 0xb7, 0x18, 0x5f,
0x6a, 0x69, 0x9b, 0x8c, 0x34, 0xdb, 0xec, 0x57, 0xf2, 0x53, 0x4a, 0xdb, 0x6c, 0x22, 0x78, 0xf1,
0x94, 0xf7, 0x7d, 0x7e, 0xcf, 0x13, 0x42, 0x1e, 0x38, 0x12, 0xaa, 0x2c, 0x95, 0x9c, 0x74, 0x47,
0xb4, 0xd0, 0xca, 0xa8, 0xf0, 0x16, 0x86, 0x33, 0xac, 0xe7, 0x46, 0x67, 0x32, 0x4d, 0x78, 0xb1,
0x44, 0xc6, 0x33, 0x9d, 0x50, 0xe2, 0x43, 0x2f, 0xc7, 0x3a, 0x70, 0x46, 0xce, 0x78, 0x10, 0x37,
0x23, 0x19, 0x82, 0xb7, 0x6a, 0x0c, 0x81, 0xdb, 0x6a, 0xdd, 0x12, 0xde, 0xc0, 0xe1, 0x0c, 0xeb,
0x07, 0x69, 0xfe, 0x10, 0xf6, 0x36, 0xe1, 0x4b, 0xf0, 0xa6, 0xec, 0x29, 0xa1, 0x24, 0x84, 0xfd,
0x65, 0xc5, 0x53, 0x64, 0xa8, 0x05, 0x4a, 0xd3, 0xba, 0x9c, 0xf8, 0x87, 0x16, 0x5e, 0x03, 0x4c,
0x55, 0x59, 0x72, 0xf9, 0x56, 0x25, 0x94, 0x9c, 0xc1, 0xae, 0xb0, 0x5b, 0xe0, 0x8c, 0x7a, 0xe3,
0x3d, 0x0a, 0x91, 0xc5, 0x09, 0x8d, 0xb7, 0x2c, 0x64, 0x30, 0xd8, 0xca, 0x24, 0x80, 0x1d, 0x0b,
0xec, 0xdb, 0x36, 0x2b, 0x39, 0x87, 0xff, 0x5c, 0xa7, 0x55, 0xe0, 0xb6, 0x57, 0x1d, 0x47, 0xbf,
0xfd, 0x49, 0xdc, 0x5a, 0x2e, 0x28, 0x1c, 0xdc, 0xa3, 0x41, 0x61, 0x98, 0xca, 0xa4, 0x49, 0x28,
0x01, 0xe8, 0x8b, 0x22, 0x43, 0x69, 0xfc, 0x7f, 0xcd, 0x5c, 0xa1, 0x5e, 0xa1, 0xf6, 0x1d, 0x32,
0x00, 0x6f, 0xa1, 0xd5, 0x47, 0xed, 0xbb, 0x77, 0x29, 0x8c, 0x95, 0x4e, 0x23, 0xbe, 0xe0, 0xe2,
0x1d, 0xa3, 0x2a, 0xaf, 0xd7, 0xbc, 0xc8, 0x33, 0xd9, 0x28, 0x65, 0x24, 0xd1, 0xac, 0x95, 0xce,
0xa3, 0xae, 0x17, 0xe6, 0xbc, 0x9c, 0x7e, 0x1b, 0x26, 0x16, 0xda, 0xd2, 0x26, 0x2b, 0xfa, 0xe9,
0x9e, 0xcc, 0xf3, 0xfa, 0xd9, 0xe6, 0x1f, 0x3b, 0xcc, 0x9a, 0x2e, 0x85, 0x2a, 0x5e, 0xfb, 0x6d,
0xab, 0x57, 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x84, 0x2a, 0x9c, 0x20, 0xec, 0x01, 0x00, 0x00,
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: common/Common.proto
package v3
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
// In most cases, detect point should be `server` or `client`.
// Even in service mesh, this means `server`/`client` side sidecar
// `proxy` is reserved only.
type DetectPoint int32
const (
DetectPoint_client DetectPoint = 0
DetectPoint_server DetectPoint = 1
DetectPoint_proxy DetectPoint = 2
)
var DetectPoint_name = map[int32]string{
0: "client",
1: "server",
2: "proxy",
}
var DetectPoint_value = map[string]int32{
"client": 0,
"server": 1,
"proxy": 2,
}
func (x DetectPoint) String() string {
return proto.EnumName(DetectPoint_name, int32(x))
}
func (DetectPoint) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_f11d9de53f8ae4d5, []int{0}
}
type KeyStringValuePair struct {
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *KeyStringValuePair) Reset() { *m = KeyStringValuePair{} }
func (m *KeyStringValuePair) String() string { return proto.CompactTextString(m) }
func (*KeyStringValuePair) ProtoMessage() {}
func (*KeyStringValuePair) Descriptor() ([]byte, []int) {
return fileDescriptor_f11d9de53f8ae4d5, []int{0}
}
func (m *KeyStringValuePair) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KeyStringValuePair.Unmarshal(m, b)
}
func (m *KeyStringValuePair) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_KeyStringValuePair.Marshal(b, m, deterministic)
}
func (m *KeyStringValuePair) XXX_Merge(src proto.Message) {
xxx_messageInfo_KeyStringValuePair.Merge(m, src)
}
func (m *KeyStringValuePair) XXX_Size() int {
return xxx_messageInfo_KeyStringValuePair.Size(m)
}
func (m *KeyStringValuePair) XXX_DiscardUnknown() {
xxx_messageInfo_KeyStringValuePair.DiscardUnknown(m)
}
var xxx_messageInfo_KeyStringValuePair proto.InternalMessageInfo
func (m *KeyStringValuePair) GetKey() string {
if m != nil {
return m.Key
}
return ""
}
func (m *KeyStringValuePair) GetValue() string {
if m != nil {
return m.Value
}
return ""
}
type CPU struct {
UsagePercent float64 `protobuf:"fixed64,2,opt,name=usagePercent,proto3" json:"usagePercent,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CPU) Reset() { *m = CPU{} }
func (m *CPU) String() string { return proto.CompactTextString(m) }
func (*CPU) ProtoMessage() {}
func (*CPU) Descriptor() ([]byte, []int) {
return fileDescriptor_f11d9de53f8ae4d5, []int{1}
}
func (m *CPU) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CPU.Unmarshal(m, b)
}
func (m *CPU) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CPU.Marshal(b, m, deterministic)
}
func (m *CPU) XXX_Merge(src proto.Message) {
xxx_messageInfo_CPU.Merge(m, src)
}
func (m *CPU) XXX_Size() int {
return xxx_messageInfo_CPU.Size(m)
}
func (m *CPU) XXX_DiscardUnknown() {
xxx_messageInfo_CPU.DiscardUnknown(m)
}
var xxx_messageInfo_CPU proto.InternalMessageInfo
func (m *CPU) GetUsagePercent() float64 {
if m != nil {
return m.UsagePercent
}
return 0
}
type Commands struct {
Commands []*Command `protobuf:"bytes,1,rep,name=commands,proto3" json:"commands,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Commands) Reset() { *m = Commands{} }
func (m *Commands) String() string { return proto.CompactTextString(m) }
func (*Commands) ProtoMessage() {}
func (*Commands) Descriptor() ([]byte, []int) {
return fileDescriptor_f11d9de53f8ae4d5, []int{2}
}
func (m *Commands) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Commands.Unmarshal(m, b)
}
func (m *Commands) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Commands.Marshal(b, m, deterministic)
}
func (m *Commands) XXX_Merge(src proto.Message) {
xxx_messageInfo_Commands.Merge(m, src)
}
func (m *Commands) XXX_Size() int {
return xxx_messageInfo_Commands.Size(m)
}
func (m *Commands) XXX_DiscardUnknown() {
xxx_messageInfo_Commands.DiscardUnknown(m)
}
var xxx_messageInfo_Commands proto.InternalMessageInfo
func (m *Commands) GetCommands() []*Command {
if m != nil {
return m.Commands
}
return nil
}
type Command struct {
Command string `protobuf:"bytes,1,opt,name=command,proto3" json:"command,omitempty"`
Args []*KeyStringValuePair `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Command) Reset() { *m = Command{} }
func (m *Command) String() string { return proto.CompactTextString(m) }
func (*Command) ProtoMessage() {}
func (*Command) Descriptor() ([]byte, []int) {
return fileDescriptor_f11d9de53f8ae4d5, []int{3}
}
func (m *Command) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Command.Unmarshal(m, b)
}
func (m *Command) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Command.Marshal(b, m, deterministic)
}
func (m *Command) XXX_Merge(src proto.Message) {
xxx_messageInfo_Command.Merge(m, src)
}
func (m *Command) XXX_Size() int {
return xxx_messageInfo_Command.Size(m)
}
func (m *Command) XXX_DiscardUnknown() {
xxx_messageInfo_Command.DiscardUnknown(m)
}
var xxx_messageInfo_Command proto.InternalMessageInfo
func (m *Command) GetCommand() string {
if m != nil {
return m.Command
}
return ""
}
func (m *Command) GetArgs() []*KeyStringValuePair {
if m != nil {
return m.Args
}
return nil
}
func init() {
proto.RegisterEnum("DetectPoint", DetectPoint_name, DetectPoint_value)
proto.RegisterType((*KeyStringValuePair)(nil), "KeyStringValuePair")
proto.RegisterType((*CPU)(nil), "CPU")
proto.RegisterType((*Commands)(nil), "Commands")
proto.RegisterType((*Command)(nil), "Command")
}
func init() { proto.RegisterFile("common/Common.proto", fileDescriptor_f11d9de53f8ae4d5) }
var fileDescriptor_f11d9de53f8ae4d5 = []byte{
// 299 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x91, 0xcf, 0x4b, 0xc3, 0x30,
0x14, 0xc7, 0x6d, 0xe7, 0x7e, 0xbd, 0x79, 0x28, 0x99, 0x87, 0x22, 0x1e, 0x46, 0x11, 0x9c, 0x0a,
0xd9, 0x70, 0x57, 0x4f, 0xce, 0x9b, 0x22, 0xa1, 0x43, 0x05, 0x6f, 0x31, 0x3e, 0x6a, 0x6d, 0x97,
0x8c, 0x34, 0xeb, 0xec, 0xbf, 0xe4, 0x5f, 0x29, 0x49, 0xa3, 0x22, 0x9e, 0xf2, 0x7d, 0xdf, 0xcf,
0x97, 0x97, 0xe4, 0x3d, 0x18, 0x0b, 0xb5, 0x5e, 0x2b, 0x39, 0x5b, 0xba, 0x83, 0x6e, 0xb4, 0x32,
0x2a, 0xb9, 0x02, 0x72, 0x8b, 0xcd, 0xca, 0xe8, 0x5c, 0x66, 0x8f, 0xbc, 0xdc, 0x22, 0xe3, 0xb9,
0x26, 0x11, 0x74, 0x0a, 0x6c, 0xe2, 0x60, 0x12, 0x4c, 0x87, 0xa9, 0x95, 0xe4, 0x10, 0xba, 0xb5,
0xc5, 0x71, 0xe8, 0xbc, 0xb6, 0x48, 0xce, 0xa0, 0xb3, 0x64, 0x0f, 0x24, 0x81, 0x83, 0x6d, 0xc5,
0x33, 0x64, 0xa8, 0x05, 0x4a, 0xe3, 0x32, 0x41, 0xfa, 0xc7, 0x4b, 0xe6, 0x30, 0xb0, 0x17, 0x73,
0xf9, 0x5a, 0x91, 0x13, 0x18, 0x08, 0xaf, 0xe3, 0x60, 0xd2, 0x99, 0x8e, 0x2e, 0x07, 0xd4, 0xc3,
0xf4, 0x87, 0x24, 0x77, 0xd0, 0xf7, 0x26, 0x89, 0xa1, 0xef, 0x6d, 0xff, 0xa6, 0xef, 0x92, 0x9c,
0xc2, 0x3e, 0xd7, 0x59, 0x15, 0x87, 0xae, 0xcd, 0x98, 0xfe, 0xff, 0x4c, 0xea, 0x02, 0xe7, 0x73,
0x18, 0xdd, 0xa0, 0x41, 0x61, 0x98, 0xca, 0xa5, 0x21, 0x00, 0x3d, 0x51, 0xe6, 0x28, 0x4d, 0xb4,
0x67, 0x75, 0x85, 0xba, 0x46, 0x1d, 0x05, 0x64, 0x08, 0xdd, 0x8d, 0x56, 0x1f, 0x4d, 0x14, 0x5e,
0xbf, 0xc3, 0x85, 0xd2, 0x19, 0xe5, 0x1b, 0x2e, 0xde, 0x90, 0x56, 0x45, 0xb3, 0xe3, 0x65, 0x91,
0x4b, 0xeb, 0xac, 0xa9, 0x44, 0xb3, 0x53, 0xba, 0xa0, 0xed, 0x4c, 0x69, 0xbd, 0x60, 0xc1, 0xf3,
0xf1, 0x6f, 0x66, 0xe6, 0xf9, 0xcc, 0xcf, 0xbc, 0x5e, 0x7c, 0x86, 0x47, 0xab, 0xa2, 0x79, 0xf2,
0x2d, 0xee, 0x5b, 0xcc, 0xec, 0x0e, 0x84, 0x2a, 0x5f, 0x7a, 0x6e, 0x1b, 0x8b, 0xaf, 0x00, 0x00,
0x00, 0xff, 0xff, 0xfb, 0xc9, 0x1b, 0x37, 0xa4, 0x01, 0x00, 0x00,
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: language-agent/ApplicationRegisterService.proto
package v1
import (
context "context"
fmt "fmt"
proto "github.com/golang/protobuf/proto"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type Application struct {
ApplicationCode string `protobuf:"bytes,1,opt,name=applicationCode,proto3" json:"applicationCode,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Application) Reset() { *m = Application{} }
func (m *Application) String() string { return proto.CompactTextString(m) }
func (*Application) ProtoMessage() {}
func (*Application) Descriptor() ([]byte, []int) {
return fileDescriptor_e1c2b07c1f73c603, []int{0}
}
func (m *Application) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Application.Unmarshal(m, b)
}
func (m *Application) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Application.Marshal(b, m, deterministic)
}
func (m *Application) XXX_Merge(src proto.Message) {
xxx_messageInfo_Application.Merge(m, src)
}
func (m *Application) XXX_Size() int {
return xxx_messageInfo_Application.Size(m)
}
func (m *Application) XXX_DiscardUnknown() {
xxx_messageInfo_Application.DiscardUnknown(m)
}
var xxx_messageInfo_Application proto.InternalMessageInfo
func (m *Application) GetApplicationCode() string {
if m != nil {
return m.ApplicationCode
}
return ""
}
type ApplicationMapping struct {
Application *KeyWithIntegerValue `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ApplicationMapping) Reset() { *m = ApplicationMapping{} }
func (m *ApplicationMapping) String() string { return proto.CompactTextString(m) }
func (*ApplicationMapping) ProtoMessage() {}
func (*ApplicationMapping) Descriptor() ([]byte, []int) {
return fileDescriptor_e1c2b07c1f73c603, []int{1}
}
func (m *ApplicationMapping) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ApplicationMapping.Unmarshal(m, b)
}
func (m *ApplicationMapping) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ApplicationMapping.Marshal(b, m, deterministic)
}
func (m *ApplicationMapping) XXX_Merge(src proto.Message) {
xxx_messageInfo_ApplicationMapping.Merge(m, src)
}
func (m *ApplicationMapping) XXX_Size() int {
return xxx_messageInfo_ApplicationMapping.Size(m)
}
func (m *ApplicationMapping) XXX_DiscardUnknown() {
xxx_messageInfo_ApplicationMapping.DiscardUnknown(m)
}
var xxx_messageInfo_ApplicationMapping proto.InternalMessageInfo
func (m *ApplicationMapping) GetApplication() *KeyWithIntegerValue {
if m != nil {
return m.Application
}
return nil
}
func init() {
proto.RegisterType((*Application)(nil), "Application")
proto.RegisterType((*ApplicationMapping)(nil), "ApplicationMapping")
}
func init() {
proto.RegisterFile("language-agent/ApplicationRegisterService.proto", fileDescriptor_e1c2b07c1f73c603)
}
var fileDescriptor_e1c2b07c1f73c603 = []byte{
// 262 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x91, 0xcf, 0x4b, 0xc3, 0x30,
0x14, 0xc7, 0xad, 0x07, 0xc1, 0x54, 0x10, 0xa2, 0xa0, 0xf4, 0x24, 0xc5, 0x43, 0x2f, 0xbe, 0xea,
0x04, 0xbd, 0x09, 0xea, 0x49, 0xfc, 0xc1, 0xe8, 0xc0, 0x81, 0x78, 0x79, 0xd6, 0x47, 0x16, 0x1a,
0x93, 0x90, 0x65, 0x2b, 0xfd, 0x97, 0xfc, 0x2b, 0x65, 0x5d, 0xe7, 0x42, 0x75, 0xc7, 0x3c, 0x3e,
0xdf, 0xf7, 0x4d, 0x3e, 0x61, 0xb9, 0x42, 0x2d, 0x66, 0x28, 0xe8, 0x0c, 0x05, 0x69, 0x9f, 0xdf,
0x5a, 0xab, 0x64, 0x89, 0x5e, 0x1a, 0x5d, 0x90, 0x90, 0x53, 0x4f, 0x6e, 0x44, 0x6e, 0x2e, 0x4b,
0x02, 0xeb, 0x8c, 0x37, 0x49, 0xd6, 0x0b, 0x3c, 0x52, 0x33, 0x96, 0x7e, 0xf2, 0xa0, 0x3d, 0x09,
0x72, 0xaf, 0xa8, 0x66, 0x1d, 0x99, 0x5e, 0xb3, 0x38, 0xd8, 0xc6, 0x33, 0xb6, 0x8f, 0xeb, 0xe3,
0xbd, 0xf9, 0xa4, 0xe3, 0xe8, 0x24, 0xca, 0x76, 0x8b, 0xfe, 0x38, 0x7d, 0x62, 0x3c, 0x08, 0x3e,
0xa3, 0xb5, 0x52, 0x0b, 0x7e, 0xc5, 0xe2, 0x00, 0x6c, 0xb3, 0xf1, 0xe0, 0x10, 0xfe, 0xe9, 0x2f,
0x42, 0x70, 0xf0, 0xce, 0x92, 0xcd, 0x8f, 0xe2, 0x37, 0xec, 0xa8, 0x57, 0xbf, 0x22, 0xf8, 0x1e,
0x04, 0xb9, 0xe4, 0x00, 0xfe, 0xde, 0x29, 0xdd, 0xba, 0xab, 0xd9, 0xb9, 0x71, 0x02, 0xd0, 0x62,
0x39, 0x21, 0x98, 0x56, 0x4d, 0x8d, 0xaa, 0x92, 0x7a, 0x31, 0xf9, 0x02, 0x4d, 0xbe, 0x36, 0xae,
0x82, 0x95, 0x32, 0x68, 0x95, 0x0d, 0xa3, 0xb7, 0xd3, 0x35, 0x98, 0x77, 0xd0, 0xef, 0x47, 0xe4,
0x4b, 0xaf, 0xf3, 0x8b, 0xef, 0xed, 0x64, 0x54, 0x35, 0xe3, 0x6e, 0xdf, 0xcb, 0x12, 0x1b, 0x2e,
0xd4, 0x96, 0x46, 0x7d, 0xec, 0xb4, 0x92, 0x2f, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x02, 0x5e,
0x49, 0x1c, 0xc1, 0x01, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4
// ApplicationRegisterServiceClient is the client API for ApplicationRegisterService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type ApplicationRegisterServiceClient interface {
ApplicationCodeRegister(ctx context.Context, in *Application, opts ...grpc.CallOption) (*ApplicationMapping, error)
}
type applicationRegisterServiceClient struct {
cc *grpc.ClientConn
}
func NewApplicationRegisterServiceClient(cc *grpc.ClientConn) ApplicationRegisterServiceClient {
return &applicationRegisterServiceClient{cc}
}
func (c *applicationRegisterServiceClient) ApplicationCodeRegister(ctx context.Context, in *Application, opts ...grpc.CallOption) (*ApplicationMapping, error) {
out := new(ApplicationMapping)
err := c.cc.Invoke(ctx, "/ApplicationRegisterService/applicationCodeRegister", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// ApplicationRegisterServiceServer is the server API for ApplicationRegisterService service.
type ApplicationRegisterServiceServer interface {
ApplicationCodeRegister(context.Context, *Application) (*ApplicationMapping, error)
}
// UnimplementedApplicationRegisterServiceServer can be embedded to have forward compatible implementations.
type UnimplementedApplicationRegisterServiceServer struct {
}
func (*UnimplementedApplicationRegisterServiceServer) ApplicationCodeRegister(ctx context.Context, req *Application) (*ApplicationMapping, error) {
return nil, status.Errorf(codes.Unimplemented, "method ApplicationCodeRegister not implemented")
}
func RegisterApplicationRegisterServiceServer(s *grpc.Server, srv ApplicationRegisterServiceServer) {
s.RegisterService(&_ApplicationRegisterService_serviceDesc, srv)
}
func _ApplicationRegisterService_ApplicationCodeRegister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(Application)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ApplicationRegisterServiceServer).ApplicationCodeRegister(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/ApplicationRegisterService/ApplicationCodeRegister",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationRegisterServiceServer).ApplicationCodeRegister(ctx, req.(*Application))
}
return interceptor(ctx, in, info, handler)
}
var _ApplicationRegisterService_serviceDesc = grpc.ServiceDesc{
ServiceName: "ApplicationRegisterService",
HandlerType: (*ApplicationRegisterServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "applicationCodeRegister",
Handler: _ApplicationRegisterService_ApplicationCodeRegister_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "language-agent/ApplicationRegisterService.proto",
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: common/CLR.proto
package v1
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
v1 "github.com/SkyAPM/SkyAPM-php-sdk/reporter/network/common/v1"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type CLRMetricV1 struct {
Time int64 `protobuf:"varint,1,opt,name=time,proto3" json:"time,omitempty"`
Cpu *v1.CPUV1 `protobuf:"bytes,2,opt,name=cpu,proto3" json:"cpu,omitempty"`
Gc *ClrGCV1 `protobuf:"bytes,3,opt,name=gc,proto3" json:"gc,omitempty"`
Thread *ClrThreadV1 `protobuf:"bytes,4,opt,name=thread,proto3" json:"thread,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CLRMetricV1) Reset() { *m = CLRMetricV1{} }
func (m *CLRMetricV1) String() string { return proto.CompactTextString(m) }
func (*CLRMetricV1) ProtoMessage() {}
func (*CLRMetricV1) Descriptor() ([]byte, []int) {
return fileDescriptor_a10d56830892247a, []int{0}
}
func (m *CLRMetricV1) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CLRMetricV1.Unmarshal(m, b)
}
func (m *CLRMetricV1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CLRMetricV1.Marshal(b, m, deterministic)
}
func (m *CLRMetricV1) XXX_Merge(src proto.Message) {
xxx_messageInfo_CLRMetricV1.Merge(m, src)
}
func (m *CLRMetricV1) XXX_Size() int {
return xxx_messageInfo_CLRMetricV1.Size(m)
}
func (m *CLRMetricV1) XXX_DiscardUnknown() {
xxx_messageInfo_CLRMetricV1.DiscardUnknown(m)
}
var xxx_messageInfo_CLRMetricV1 proto.InternalMessageInfo
func (m *CLRMetricV1) GetTime() int64 {
if m != nil {
return m.Time
}
return 0
}
func (m *CLRMetricV1) GetCpu() *v1.CPUV1 {
if m != nil {
return m.Cpu
}
return nil
}
func (m *CLRMetricV1) GetGc() *ClrGCV1 {
if m != nil {
return m.Gc
}
return nil
}
func (m *CLRMetricV1) GetThread() *ClrThreadV1 {
if m != nil {
return m.Thread
}
return nil
}
type ClrGCV1 struct {
Gen0CollectCount int64 `protobuf:"varint,1,opt,name=Gen0CollectCount,proto3" json:"Gen0CollectCount,omitempty"`
Gen1CollectCount int64 `protobuf:"varint,2,opt,name=Gen1CollectCount,proto3" json:"Gen1CollectCount,omitempty"`
Gen2CollectCount int64 `protobuf:"varint,3,opt,name=Gen2CollectCount,proto3" json:"Gen2CollectCount,omitempty"`
HeapMemory int64 `protobuf:"varint,4,opt,name=HeapMemory,proto3" json:"HeapMemory,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ClrGCV1) Reset() { *m = ClrGCV1{} }
func (m *ClrGCV1) String() string { return proto.CompactTextString(m) }
func (*ClrGCV1) ProtoMessage() {}
func (*ClrGCV1) Descriptor() ([]byte, []int) {
return fileDescriptor_a10d56830892247a, []int{1}
}
func (m *ClrGCV1) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ClrGCV1.Unmarshal(m, b)
}
func (m *ClrGCV1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ClrGCV1.Marshal(b, m, deterministic)
}
func (m *ClrGCV1) XXX_Merge(src proto.Message) {
xxx_messageInfo_ClrGCV1.Merge(m, src)
}
func (m *ClrGCV1) XXX_Size() int {
return xxx_messageInfo_ClrGCV1.Size(m)
}
func (m *ClrGCV1) XXX_DiscardUnknown() {
xxx_messageInfo_ClrGCV1.DiscardUnknown(m)
}
var xxx_messageInfo_ClrGCV1 proto.InternalMessageInfo
func (m *ClrGCV1) GetGen0CollectCount() int64 {
if m != nil {
return m.Gen0CollectCount
}
return 0
}
func (m *ClrGCV1) GetGen1CollectCount() int64 {
if m != nil {
return m.Gen1CollectCount
}
return 0
}
func (m *ClrGCV1) GetGen2CollectCount() int64 {
if m != nil {
return m.Gen2CollectCount
}
return 0
}
func (m *ClrGCV1) GetHeapMemory() int64 {
if m != nil {
return m.HeapMemory
}
return 0
}
type ClrThreadV1 struct {
AvailableCompletionPortThreads int32 `protobuf:"varint,1,opt,name=AvailableCompletionPortThreads,proto3" json:"AvailableCompletionPortThreads,omitempty"`
AvailableWorkerThreads int32 `protobuf:"varint,2,opt,name=AvailableWorkerThreads,proto3" json:"AvailableWorkerThreads,omitempty"`
MaxCompletionPortThreads int32 `protobuf:"varint,3,opt,name=MaxCompletionPortThreads,proto3" json:"MaxCompletionPortThreads,omitempty"`
MaxWorkerThreads int32 `protobuf:"varint,4,opt,name=MaxWorkerThreads,proto3" json:"MaxWorkerThreads,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ClrThreadV1) Reset() { *m = ClrThreadV1{} }
func (m *ClrThreadV1) String() string { return proto.CompactTextString(m) }
func (*ClrThreadV1) ProtoMessage() {}
func (*ClrThreadV1) Descriptor() ([]byte, []int) {
return fileDescriptor_a10d56830892247a, []int{2}
}
func (m *ClrThreadV1) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ClrThreadV1.Unmarshal(m, b)
}
func (m *ClrThreadV1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ClrThreadV1.Marshal(b, m, deterministic)
}
func (m *ClrThreadV1) XXX_Merge(src proto.Message) {
xxx_messageInfo_ClrThreadV1.Merge(m, src)
}
func (m *ClrThreadV1) XXX_Size() int {
return xxx_messageInfo_ClrThreadV1.Size(m)
}
func (m *ClrThreadV1) XXX_DiscardUnknown() {
xxx_messageInfo_ClrThreadV1.DiscardUnknown(m)
}
var xxx_messageInfo_ClrThreadV1 proto.InternalMessageInfo
func (m *ClrThreadV1) GetAvailableCompletionPortThreads() int32 {
if m != nil {
return m.AvailableCompletionPortThreads
}
return 0
}
func (m *ClrThreadV1) GetAvailableWorkerThreads() int32 {
if m != nil {
return m.AvailableWorkerThreads
}
return 0
}
func (m *ClrThreadV1) GetMaxCompletionPortThreads() int32 {
if m != nil {
return m.MaxCompletionPortThreads
}
return 0
}
func (m *ClrThreadV1) GetMaxWorkerThreads() int32 {
if m != nil {
return m.MaxWorkerThreads
}
return 0
}
func init() {
proto.RegisterType((*CLRMetricV1)(nil), "CLRMetricV1")
proto.RegisterType((*ClrGCV1)(nil), "ClrGCV1")
proto.RegisterType((*ClrThreadV1)(nil), "ClrThreadV1")
}
func init() { proto.RegisterFile("common/CLR.proto", fileDescriptor_a10d56830892247a) }
var fileDescriptor_a10d56830892247a = []byte{
// 381 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x92, 0x4f, 0xeb, 0xd3, 0x30,
0x18, 0xc7, 0x69, 0x3b, 0xa7, 0x64, 0x1e, 0x46, 0x04, 0x29, 0x3b, 0x8c, 0x31, 0x76, 0x18, 0x1e,
0xd2, 0x75, 0x82, 0x07, 0x6f, 0x1a, 0x70, 0x1e, 0x56, 0x29, 0x51, 0x3b, 0xf0, 0x96, 0xc5, 0xd0,
0x95, 0xa6, 0x49, 0xc9, 0xb2, 0x7f, 0xf8, 0x8e, 0x04, 0x5f, 0x9e, 0x77, 0x69, 0xda, 0xcd, 0x95,
0x6d, 0xfc, 0x4e, 0x2d, 0x9f, 0xef, 0xe7, 0xdb, 0xe4, 0x29, 0x0f, 0xe8, 0x33, 0x55, 0x14, 0x4a,
0x06, 0x78, 0x49, 0x50, 0xa9, 0x95, 0x51, 0x83, 0x57, 0x0d, 0xa9, 0x1f, 0x35, 0x1c, 0xff, 0x02,
0x3d, 0xbc, 0x24, 0x11, 0x37, 0x3a, 0x63, 0x49, 0x08, 0x21, 0xe8, 0x98, 0xac, 0xe0, 0xbe, 0x33,
0x72, 0xa6, 0x1e, 0xb1, 0xef, 0xd0, 0x07, 0x1e, 0x2b, 0x77, 0xbe, 0x3b, 0x72, 0xa6, 0xbd, 0x79,
0x17, 0xe1, 0xf8, 0x7b, 0x12, 0x92, 0x0a, 0x41, 0x1f, 0xb8, 0x29, 0xf3, 0x3d, 0x1b, 0xbc, 0x40,
0x58, 0xe8, 0x05, 0x4e, 0x42, 0xe2, 0xa6, 0x0c, 0x4e, 0x40, 0xd7, 0x6c, 0x34, 0xa7, 0x3f, 0xfd,
0x8e, 0x4d, 0x5f, 0x56, 0xe9, 0x37, 0x4b, 0x92, 0x90, 0x34, 0xd9, 0xf8, 0x8f, 0x03, 0x9e, 0x37,
0x2d, 0xf8, 0x06, 0xf4, 0x17, 0x5c, 0xce, 0xb0, 0x12, 0x82, 0x33, 0x83, 0xd5, 0x4e, 0x9a, 0xe6,
0x16, 0x37, 0xbc, 0x71, 0xc3, 0x96, 0xeb, 0x5e, 0xdc, 0xf0, 0x8e, 0x3b, 0x6f, 0xb9, 0xde, 0xc5,
0x6d, 0x71, 0x38, 0x04, 0xe0, 0x33, 0xa7, 0x65, 0xc4, 0x0b, 0xa5, 0x4f, 0xf6, 0xe6, 0x1e, 0xb9,
0x22, 0xe3, 0xbf, 0x0e, 0xe8, 0x5d, 0xcd, 0x01, 0x3f, 0x81, 0xe1, 0x87, 0x3d, 0xcd, 0x04, 0x5d,
0x0b, 0x8e, 0x55, 0x51, 0x0a, 0x6e, 0x32, 0x25, 0x63, 0xa5, 0x4d, 0xad, 0x6c, 0xed, 0x04, 0xcf,
0xc8, 0x13, 0x16, 0x7c, 0x07, 0x5e, 0x5f, 0x8c, 0x95, 0xd2, 0x39, 0xd7, 0xe7, 0xbe, 0x6b, 0xfb,
0x0f, 0x52, 0xf8, 0x1e, 0xf8, 0x11, 0x3d, 0xde, 0x3f, 0xd9, 0xb3, 0xcd, 0x87, 0x79, 0xf5, 0x5f,
0x22, 0x7a, 0x6c, 0x9f, 0xd6, 0xb1, 0x9d, 0x1b, 0xfe, 0xf1, 0x00, 0x66, 0x4a, 0xa7, 0x88, 0x96,
0x94, 0x6d, 0x38, 0xda, 0xe6, 0xa7, 0x03, 0x15, 0x79, 0x26, 0x2b, 0x52, 0x20, 0xc9, 0xcd, 0x41,
0xe9, 0x1c, 0x09, 0x2a, 0xd3, 0x1d, 0x4d, 0x39, 0xa2, 0x29, 0x97, 0x26, 0x76, 0x7e, 0x4c, 0xfe,
0x8b, 0x41, 0x23, 0x05, 0x67, 0x29, 0xb0, 0x52, 0xb0, 0x0f, 0x7f, 0xbb, 0x83, 0xaf, 0xf9, 0x69,
0xd5, 0x7c, 0xef, 0x4b, 0xad, 0xc5, 0xd5, 0x6a, 0x32, 0x25, 0xd6, 0x5d, 0xbb, 0xa4, 0x6f, 0xff,
0x05, 0x00, 0x00, 0xff, 0xff, 0xc9, 0xfb, 0xea, 0x01, 0xcd, 0x02, 0x00, 0x00,
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: language-agent/Downstream.proto
package v1
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
// nothing down stream from collector yet.
type Downstream struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Downstream) Reset() { *m = Downstream{} }
func (m *Downstream) String() string { return proto.CompactTextString(m) }
func (*Downstream) ProtoMessage() {}
func (*Downstream) Descriptor() ([]byte, []int) {
return fileDescriptor_625677b377236e86, []int{0}
}
func (m *Downstream) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Downstream.Unmarshal(m, b)
}
func (m *Downstream) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Downstream.Marshal(b, m, deterministic)
}
func (m *Downstream) XXX_Merge(src proto.Message) {
xxx_messageInfo_Downstream.Merge(m, src)
}
func (m *Downstream) XXX_Size() int {
return xxx_messageInfo_Downstream.Size(m)
}
func (m *Downstream) XXX_DiscardUnknown() {
xxx_messageInfo_Downstream.DiscardUnknown(m)
}
var xxx_messageInfo_Downstream proto.InternalMessageInfo
func init() {
proto.RegisterType((*Downstream)(nil), "Downstream")
}
func init() { proto.RegisterFile("language-agent/Downstream.proto", fileDescriptor_625677b377236e86) }
var fileDescriptor_625677b377236e86 = []byte{
// 145 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0xcf, 0x49, 0xcc, 0x4b,
0x2f, 0x4d, 0x4c, 0x4f, 0xd5, 0x4d, 0x4c, 0x4f, 0xcd, 0x2b, 0xd1, 0x77, 0xc9, 0x2f, 0xcf, 0x2b,
0x2e, 0x29, 0x4a, 0x4d, 0xcc, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x57, 0xe2, 0xe1, 0xe2, 0x42,
0x88, 0x39, 0x95, 0x73, 0x19, 0xe4, 0x17, 0xa5, 0xeb, 0x25, 0x16, 0x24, 0x26, 0x67, 0xa4, 0xea,
0x15, 0x67, 0x57, 0x96, 0x27, 0xe6, 0x64, 0x67, 0xe6, 0x81, 0x44, 0x72, 0xf5, 0xf2, 0x52, 0x4b,
0xca, 0xf3, 0x8b, 0xb2, 0xf5, 0x60, 0x46, 0xea, 0x81, 0x8d, 0x0c, 0x60, 0x8c, 0x52, 0x41, 0x28,
0xd4, 0x87, 0x2a, 0xd2, 0x87, 0x29, 0xd2, 0x87, 0xd8, 0x5b, 0x66, 0xb8, 0x8a, 0x49, 0x2a, 0x38,
0xbb, 0x32, 0x1c, 0x6a, 0x9e, 0x1f, 0x44, 0x59, 0x00, 0xc8, 0x0d, 0xc9, 0xf9, 0x39, 0x49, 0x6c,
0x60, 0xd7, 0x18, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x88, 0x81, 0x76, 0xd1, 0xb0, 0x00, 0x00,
0x00,
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: common/JVM.proto
package v1
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
v1 "github.com/SkyAPM/SkyAPM-php-sdk/reporter/network/common/v1"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type PoolTypeV1 int32
const (
PoolTypeV1_CODE_CACHE_USAGE PoolTypeV1 = 0
PoolTypeV1_NEWGEN_USAGE PoolTypeV1 = 1
PoolTypeV1_OLDGEN_USAGE PoolTypeV1 = 2
PoolTypeV1_SURVIVOR_USAGE PoolTypeV1 = 3
PoolTypeV1_PERMGEN_USAGE PoolTypeV1 = 4
PoolTypeV1_METASPACE_USAGE PoolTypeV1 = 5
)
var PoolTypeV1_name = map[int32]string{
0: "CODE_CACHE_USAGE",
1: "NEWGEN_USAGE",
2: "OLDGEN_USAGE",
3: "SURVIVOR_USAGE",
4: "PERMGEN_USAGE",
5: "METASPACE_USAGE",
}
var PoolTypeV1_value = map[string]int32{
"CODE_CACHE_USAGE": 0,
"NEWGEN_USAGE": 1,
"OLDGEN_USAGE": 2,
"SURVIVOR_USAGE": 3,
"PERMGEN_USAGE": 4,
"METASPACE_USAGE": 5,
}
func (x PoolTypeV1) String() string {
return proto.EnumName(PoolTypeV1_name, int32(x))
}
func (PoolTypeV1) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_42f5f61b58cf3158, []int{0}
}
type GCPhraseV1 int32
const (
GCPhraseV1_NEW GCPhraseV1 = 0
GCPhraseV1_OLD GCPhraseV1 = 1
)
var GCPhraseV1_name = map[int32]string{
0: "NEW",
1: "OLD",
}
var GCPhraseV1_value = map[string]int32{
"NEW": 0,
"OLD": 1,
}
func (x GCPhraseV1) String() string {
return proto.EnumName(GCPhraseV1_name, int32(x))
}
func (GCPhraseV1) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_42f5f61b58cf3158, []int{1}
}
type JVMMetricV1 struct {
Time int64 `protobuf:"varint,1,opt,name=time,proto3" json:"time,omitempty"`
Cpu *v1.CPUV1 `protobuf:"bytes,2,opt,name=cpu,proto3" json:"cpu,omitempty"`
Memory []*MemoryV1 `protobuf:"bytes,3,rep,name=memory,proto3" json:"memory,omitempty"`
MemoryPool []*MemoryPoolV1 `protobuf:"bytes,4,rep,name=memoryPool,proto3" json:"memoryPool,omitempty"`
Gc []*GCV1 `protobuf:"bytes,5,rep,name=gc,proto3" json:"gc,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *JVMMetricV1) Reset() { *m = JVMMetricV1{} }
func (m *JVMMetricV1) String() string { return proto.CompactTextString(m) }
func (*JVMMetricV1) ProtoMessage() {}
func (*JVMMetricV1) Descriptor() ([]byte, []int) {
return fileDescriptor_42f5f61b58cf3158, []int{0}
}
func (m *JVMMetricV1) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_JVMMetricV1.Unmarshal(m, b)
}
func (m *JVMMetricV1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_JVMMetricV1.Marshal(b, m, deterministic)
}
func (m *JVMMetricV1) XXX_Merge(src proto.Message) {
xxx_messageInfo_JVMMetricV1.Merge(m, src)
}
func (m *JVMMetricV1) XXX_Size() int {
return xxx_messageInfo_JVMMetricV1.Size(m)
}
func (m *JVMMetricV1) XXX_DiscardUnknown() {
xxx_messageInfo_JVMMetricV1.DiscardUnknown(m)
}
var xxx_messageInfo_JVMMetricV1 proto.InternalMessageInfo
func (m *JVMMetricV1) GetTime() int64 {
if m != nil {
return m.Time
}
return 0
}
func (m *JVMMetricV1) GetCpu() *v1.CPUV1 {
if m != nil {
return m.Cpu
}
return nil
}
func (m *JVMMetricV1) GetMemory() []*MemoryV1 {
if m != nil {
return m.Memory
}
return nil
}
func (m *JVMMetricV1) GetMemoryPool() []*MemoryPoolV1 {
if m != nil {
return m.MemoryPool
}
return nil
}
func (m *JVMMetricV1) GetGc() []*GCV1 {
if m != nil {
return m.Gc
}
return nil
}
type MemoryV1 struct {
IsHeap bool `protobuf:"varint,1,opt,name=isHeap,proto3" json:"isHeap,omitempty"`
Init int64 `protobuf:"varint,2,opt,name=init,proto3" json:"init,omitempty"`
Max int64 `protobuf:"varint,3,opt,name=max,proto3" json:"max,omitempty"`
Used int64 `protobuf:"varint,4,opt,name=used,proto3" json:"used,omitempty"`
Committed int64 `protobuf:"varint,5,opt,name=committed,proto3" json:"committed,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *MemoryV1) Reset() { *m = MemoryV1{} }
func (m *MemoryV1) String() string { return proto.CompactTextString(m) }
func (*MemoryV1) ProtoMessage() {}
func (*MemoryV1) Descriptor() ([]byte, []int) {
return fileDescriptor_42f5f61b58cf3158, []int{1}
}
func (m *MemoryV1) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemoryV1.Unmarshal(m, b)
}
func (m *MemoryV1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_MemoryV1.Marshal(b, m, deterministic)
}
func (m *MemoryV1) XXX_Merge(src proto.Message) {
xxx_messageInfo_MemoryV1.Merge(m, src)
}
func (m *MemoryV1) XXX_Size() int {
return xxx_messageInfo_MemoryV1.Size(m)
}
func (m *MemoryV1) XXX_DiscardUnknown() {
xxx_messageInfo_MemoryV1.DiscardUnknown(m)
}
var xxx_messageInfo_MemoryV1 proto.InternalMessageInfo
func (m *MemoryV1) GetIsHeap() bool {
if m != nil {
return m.IsHeap
}
return false
}
func (m *MemoryV1) GetInit() int64 {
if m != nil {
return m.Init
}
return 0
}
func (m *MemoryV1) GetMax() int64 {
if m != nil {
return m.Max
}
return 0
}
func (m *MemoryV1) GetUsed() int64 {
if m != nil {
return m.Used
}
return 0
}
func (m *MemoryV1) GetCommitted() int64 {
if m != nil {
return m.Committed
}
return 0
}
type MemoryPoolV1 struct {
Type PoolTypeV1 `protobuf:"varint,1,opt,name=type,proto3,enum=PoolTypeV1" json:"type,omitempty"`
Init int64 `protobuf:"varint,2,opt,name=init,proto3" json:"init,omitempty"`
Max int64 `protobuf:"varint,3,opt,name=max,proto3" json:"max,omitempty"`
Used int64 `protobuf:"varint,4,opt,name=used,proto3" json:"used,omitempty"`
Commited int64 `protobuf:"varint,5,opt,name=commited,proto3" json:"commited,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *MemoryPoolV1) Reset() { *m = MemoryPoolV1{} }
func (m *MemoryPoolV1) String() string { return proto.CompactTextString(m) }
func (*MemoryPoolV1) ProtoMessage() {}
func (*MemoryPoolV1) Descriptor() ([]byte, []int) {
return fileDescriptor_42f5f61b58cf3158, []int{2}
}
func (m *MemoryPoolV1) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemoryPoolV1.Unmarshal(m, b)
}
func (m *MemoryPoolV1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_MemoryPoolV1.Marshal(b, m, deterministic)
}
func (m *MemoryPoolV1) XXX_Merge(src proto.Message) {
xxx_messageInfo_MemoryPoolV1.Merge(m, src)
}
func (m *MemoryPoolV1) XXX_Size() int {
return xxx_messageInfo_MemoryPoolV1.Size(m)
}
func (m *MemoryPoolV1) XXX_DiscardUnknown() {
xxx_messageInfo_MemoryPoolV1.DiscardUnknown(m)
}
var xxx_messageInfo_MemoryPoolV1 proto.InternalMessageInfo
func (m *MemoryPoolV1) GetType() PoolTypeV1 {
if m != nil {
return m.Type
}
return PoolTypeV1_CODE_CACHE_USAGE
}
func (m *MemoryPoolV1) GetInit() int64 {
if m != nil {
return m.Init
}
return 0
}
func (m *MemoryPoolV1) GetMax() int64 {
if m != nil {
return m.Max
}
return 0
}
func (m *MemoryPoolV1) GetUsed() int64 {
if m != nil {
return m.Used
}
return 0
}
func (m *MemoryPoolV1) GetCommited() int64 {
if m != nil {
return m.Commited
}
return 0
}
type GCV1 struct {
Phrase GCPhraseV1 `protobuf:"varint,1,opt,name=phrase,proto3,enum=GCPhraseV1" json:"phrase,omitempty"`
Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
Time int64 `protobuf:"varint,3,opt,name=time,proto3" json:"time,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GCV1) Reset() { *m = GCV1{} }
func (m *GCV1) String() string { return proto.CompactTextString(m) }
func (*GCV1) ProtoMessage() {}
func (*GCV1) Descriptor() ([]byte, []int) {
return fileDescriptor_42f5f61b58cf3158, []int{3}
}
func (m *GCV1) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GCV1.Unmarshal(m, b)
}
func (m *GCV1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GCV1.Marshal(b, m, deterministic)
}
func (m *GCV1) XXX_Merge(src proto.Message) {
xxx_messageInfo_GCV1.Merge(m, src)
}
func (m *GCV1) XXX_Size() int {
return xxx_messageInfo_GCV1.Size(m)
}
func (m *GCV1) XXX_DiscardUnknown() {
xxx_messageInfo_GCV1.DiscardUnknown(m)
}
var xxx_messageInfo_GCV1 proto.InternalMessageInfo
func (m *GCV1) GetPhrase() GCPhraseV1 {
if m != nil {
return m.Phrase
}
return GCPhraseV1_NEW
}
func (m *GCV1) GetCount() int64 {
if m != nil {
return m.Count
}
return 0
}
func (m *GCV1) GetTime() int64 {
if m != nil {
return m.Time
}
return 0
}
func init() {
proto.RegisterEnum("PoolTypeV1", PoolTypeV1_name, PoolTypeV1_value)
proto.RegisterEnum("GCPhraseV1", GCPhraseV1_name, GCPhraseV1_value)
proto.RegisterType((*JVMMetricV1)(nil), "JVMMetricV1")
proto.RegisterType((*MemoryV1)(nil), "MemoryV1")
proto.RegisterType((*MemoryPoolV1)(nil), "MemoryPoolV1")
proto.RegisterType((*GCV1)(nil), "GCV1")
}
func init() { proto.RegisterFile("common/JVM.proto", fileDescriptor_42f5f61b58cf3158) }
var fileDescriptor_42f5f61b58cf3158 = []byte{
// 504 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x93, 0xd1, 0x6e, 0xda, 0x30,
0x14, 0x86, 0x1b, 0x1c, 0x18, 0x3d, 0xb4, 0x5d, 0xe6, 0x76, 0x53, 0x84, 0xa6, 0x8d, 0xb1, 0x5d,
0xa0, 0x4a, 0x33, 0x0b, 0x7b, 0x02, 0x16, 0x22, 0xba, 0xaa, 0x81, 0xc8, 0x14, 0x23, 0xed, 0xa6,
0xca, 0x52, 0x2b, 0x8d, 0x20, 0x71, 0x14, 0xc2, 0x18, 0xbb, 0x9c, 0xb4, 0x37, 0xd9, 0xd5, 0x9e,
0x72, 0xb2, 0x13, 0x48, 0xef, 0x7b, 0x95, 0xff, 0x7c, 0xe7, 0xd7, 0xc9, 0xef, 0x63, 0x19, 0x8c,
0x40, 0xc4, 0xb1, 0x48, 0xfa, 0xd7, 0xcc, 0x25, 0x69, 0x26, 0x72, 0xd1, 0x3e, 0x2f, 0x49, 0xf1,
0x29, 0x60, 0xf7, 0xaf, 0x06, 0xad, 0x6b, 0xe6, 0xba, 0x3c, 0xcf, 0xa2, 0x80, 0x59, 0x18, 0x83,
0x9e, 0x47, 0x31, 0x37, 0xb5, 0x8e, 0xd6, 0x43, 0x54, 0x69, 0x6c, 0x02, 0x0a, 0xd2, 0x8d, 0x59,
0xeb, 0x68, 0xbd, 0xd6, 0xa0, 0x41, 0x6c, 0x6f, 0xce, 0x2c, 0x2a, 0x11, 0x7e, 0x07, 0x8d, 0x98,
0xc7, 0x22, 0xdb, 0x99, 0xa8, 0x83, 0x7a, 0xad, 0xc1, 0x31, 0x71, 0x55, 0xc9, 0x2c, 0x5a, 0x36,
0xf0, 0x47, 0x80, 0x42, 0x79, 0x42, 0xac, 0x4c, 0x5d, 0xd9, 0x4e, 0x4b, 0x9b, 0x44, 0xcc, 0xa2,
0x8f, 0x0c, 0xf8, 0x25, 0xd4, 0xc2, 0xc0, 0xac, 0x2b, 0x5b, 0x9d, 0x8c, 0x6d, 0x66, 0xd1, 0x5a,
0x18, 0x74, 0x7f, 0x41, 0x73, 0x3f, 0x19, 0xbf, 0x82, 0x46, 0xb4, 0xbe, 0xe2, 0x7e, 0xaa, 0x42,
0x36, 0x69, 0x59, 0xc9, 0xe8, 0x51, 0x12, 0xe5, 0x2a, 0x27, 0xa2, 0x4a, 0x63, 0x03, 0x50, 0xec,
0xff, 0x34, 0x91, 0x42, 0x52, 0x4a, 0xd7, 0x66, 0xcd, 0xef, 0x4d, 0xbd, 0x70, 0x49, 0x8d, 0x5f,
0xc3, 0xb1, 0x5c, 0x4a, 0x94, 0xe7, 0xfc, 0xde, 0xac, 0xab, 0x46, 0x05, 0xba, 0x7f, 0x34, 0x38,
0x79, 0x9c, 0x17, 0xbf, 0x05, 0x3d, 0xdf, 0xa5, 0xc5, 0x8e, 0xce, 0x06, 0x2d, 0x22, 0xf1, 0xed,
0x2e, 0xe5, 0xcc, 0xa2, 0xaa, 0xf1, 0x84, 0x24, 0x6d, 0x68, 0x16, 0x3f, 0x3e, 0x04, 0x39, 0xd4,
0xdd, 0x39, 0xe8, 0x72, 0x1f, 0xf8, 0x3d, 0x34, 0xd2, 0x87, 0xcc, 0x5f, 0x57, 0x01, 0xc6, 0xb6,
0xa7, 0x80, 0x5c, 0x7b, 0xd1, 0xc2, 0x17, 0x50, 0x0f, 0xc4, 0x26, 0xd9, 0x67, 0x28, 0x8a, 0xc3,
0xed, 0xa2, 0xea, 0x76, 0x2f, 0x7f, 0x6b, 0x00, 0xd5, 0x09, 0xf0, 0x05, 0x18, 0xf6, 0x74, 0xe4,
0xdc, 0xd9, 0x43, 0xfb, 0xca, 0xb9, 0x9b, 0xcf, 0x86, 0x63, 0xc7, 0x38, 0xc2, 0x06, 0x9c, 0x4c,
0x9c, 0xc5, 0xd8, 0x99, 0x94, 0x44, 0x93, 0x64, 0x7a, 0x33, 0xaa, 0x48, 0x0d, 0x63, 0x38, 0x9b,
0xcd, 0x29, 0xfb, 0xca, 0xa6, 0xb4, 0x64, 0x08, 0xbf, 0x80, 0x53, 0xcf, 0xa1, 0x6e, 0x65, 0xd3,
0xf1, 0x39, 0x3c, 0x77, 0x9d, 0xdb, 0xe1, 0xcc, 0x1b, 0xda, 0xfb, 0xf9, 0xf5, 0xcb, 0x37, 0x00,
0xd5, 0x21, 0xf0, 0x33, 0x40, 0x13, 0x67, 0x61, 0x1c, 0x49, 0x31, 0xbd, 0x19, 0x19, 0xda, 0x97,
0x2d, 0x7c, 0x12, 0x59, 0x48, 0xfc, 0xd4, 0x0f, 0x1e, 0x38, 0x59, 0x2f, 0x77, 0x5b, 0x7f, 0xb5,
0x8c, 0x12, 0x49, 0x62, 0x92, 0xf0, 0x7c, 0x2b, 0xb2, 0x25, 0x59, 0xf9, 0x49, 0xb8, 0xf1, 0x43,
0x4e, 0xfc, 0x90, 0x27, 0xb9, 0xa7, 0x7d, 0xfb, 0x50, 0x19, 0xfb, 0xa5, 0xa9, 0xbf, 0x37, 0xf5,
0x95, 0xa9, 0xff, 0xc3, 0xfa, 0x57, 0x6b, 0xcf, 0x96, 0xbb, 0x45, 0x39, 0x6f, 0x52, 0xd8, 0x3c,
0xf9, 0x38, 0x02, 0xb1, 0xfa, 0xde, 0x50, 0xcf, 0xe4, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff,
0x86, 0x7a, 0x7e, 0x0b, 0x4f, 0x03, 0x00, 0x00,
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: language-agent/JVMMetricsService.proto
package v1
import (
context "context"
fmt "fmt"
proto "github.com/golang/protobuf/proto"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type JVMMetrics struct {
Metrics []*JVMMetricV1 `protobuf:"bytes,1,rep,name=metrics,proto3" json:"metrics,omitempty"`
ApplicationInstanceId int32 `protobuf:"varint,2,opt,name=applicationInstanceId,proto3" json:"applicationInstanceId,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *JVMMetrics) Reset() { *m = JVMMetrics{} }
func (m *JVMMetrics) String() string { return proto.CompactTextString(m) }
func (*JVMMetrics) ProtoMessage() {}
func (*JVMMetrics) Descriptor() ([]byte, []int) {
return fileDescriptor_84f947edc73ca4ba, []int{0}
}
func (m *JVMMetrics) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_JVMMetrics.Unmarshal(m, b)
}
func (m *JVMMetrics) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_JVMMetrics.Marshal(b, m, deterministic)
}
func (m *JVMMetrics) XXX_Merge(src proto.Message) {
xxx_messageInfo_JVMMetrics.Merge(m, src)
}
func (m *JVMMetrics) XXX_Size() int {
return xxx_messageInfo_JVMMetrics.Size(m)
}
func (m *JVMMetrics) XXX_DiscardUnknown() {
xxx_messageInfo_JVMMetrics.DiscardUnknown(m)
}
var xxx_messageInfo_JVMMetrics proto.InternalMessageInfo
func (m *JVMMetrics) GetMetrics() []*JVMMetricV1 {
if m != nil {
return m.Metrics
}
return nil
}
func (m *JVMMetrics) GetApplicationInstanceId() int32 {
if m != nil {
return m.ApplicationInstanceId
}
return 0
}
func init() {
proto.RegisterType((*JVMMetrics)(nil), "JVMMetrics")
}
func init() {
proto.RegisterFile("language-agent/JVMMetricsService.proto", fileDescriptor_84f947edc73ca4ba)
}
var fileDescriptor_84f947edc73ca4ba = []byte{
// 262 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0x4f, 0x4b, 0x03, 0x31,
0x14, 0xc4, 0xdd, 0x8a, 0x16, 0xb2, 0x1e, 0x74, 0x41, 0x28, 0x7b, 0xb1, 0x14, 0x2d, 0xbd, 0x98,
0xb5, 0xd5, 0x93, 0x47, 0xf1, 0x52, 0xa1, 0x52, 0x5a, 0xa8, 0xe0, 0xed, 0x19, 0x1f, 0x6b, 0xdc,
0x24, 0x6f, 0x49, 0x62, 0x97, 0x7e, 0x25, 0x3f, 0xa5, 0xec, 0x3f, 0x17, 0xb4, 0xb7, 0xf0, 0xe6,
0xc7, 0x64, 0x66, 0xd8, 0x58, 0x81, 0x49, 0xbf, 0x20, 0xc5, 0x6b, 0x48, 0xd1, 0xf8, 0xe4, 0x69,
0xb3, 0x58, 0xa0, 0xb7, 0x52, 0xb8, 0x35, 0xda, 0xad, 0x14, 0xc8, 0x73, 0x4b, 0x9e, 0xe2, 0x8b,
0x3f, 0xdc, 0x23, 0x15, 0xc6, 0x79, 0x8b, 0xa0, 0x1b, 0xe0, 0x54, 0x90, 0xd6, 0x64, 0x4a, 0x83,
0xfa, 0x32, 0xfa, 0x64, 0xac, 0x73, 0x8b, 0xc6, 0xac, 0xaf, 0xeb, 0xe7, 0x20, 0x18, 0x1e, 0x4e,
0xc2, 0xd9, 0x09, 0xff, 0x55, 0x37, 0xd3, 0x55, 0x2b, 0x46, 0x77, 0xec, 0x1c, 0xf2, 0x5c, 0x49,
0x01, 0x5e, 0x92, 0x99, 0x1b, 0xe7, 0xc1, 0x08, 0x9c, 0xbf, 0x0f, 0x7a, 0xc3, 0x60, 0x72, 0xb4,
0xda, 0x2f, 0xce, 0xee, 0xd9, 0xd9, 0xbf, 0xe4, 0xd1, 0x15, 0xeb, 0x0b, 0x52, 0x0a, 0x85, 0x8f,
0xc2, 0xee, 0x33, 0x17, 0x87, 0xbc, 0x4b, 0x3f, 0x3a, 0x78, 0x28, 0xd8, 0x0d, 0xd9, 0x94, 0x43,
0x0e, 0xe2, 0x03, 0xb9, 0xcb, 0x76, 0x05, 0xa8, 0x4c, 0x9a, 0xf2, 0xa2, 0xb9, 0x41, 0x5f, 0x90,
0xcd, 0x78, 0x5b, 0x9f, 0x57, 0xf5, 0x97, 0xc1, 0xeb, 0x65, 0x07, 0x26, 0x0d, 0x94, 0xb4, 0x50,
0x52, 0x6f, 0xb4, 0x9d, 0x7e, 0xf7, 0xe2, 0x75, 0xb6, 0x7b, 0x69, 0xfc, 0x9e, 0x6b, 0x6c, 0x59,
0xae, 0x23, 0x48, 0xbd, 0x1d, 0x57, 0x3b, 0xdd, 0xfe, 0x04, 0x00, 0x00, 0xff, 0xff, 0x12, 0x4c,
0xb9, 0xde, 0x84, 0x01, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4
// JVMMetricsServiceClient is the client API for JVMMetricsService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type JVMMetricsServiceClient interface {
Collect(ctx context.Context, in *JVMMetrics, opts ...grpc.CallOption) (*Downstream, error)
}
type jVMMetricsServiceClient struct {
cc *grpc.ClientConn
}
func NewJVMMetricsServiceClient(cc *grpc.ClientConn) JVMMetricsServiceClient {
return &jVMMetricsServiceClient{cc}
}
func (c *jVMMetricsServiceClient) Collect(ctx context.Context, in *JVMMetrics, opts ...grpc.CallOption) (*Downstream, error) {
out := new(Downstream)
err := c.cc.Invoke(ctx, "/JVMMetricsService/collect", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// JVMMetricsServiceServer is the server API for JVMMetricsService service.
type JVMMetricsServiceServer interface {
Collect(context.Context, *JVMMetrics) (*Downstream, error)
}
// UnimplementedJVMMetricsServiceServer can be embedded to have forward compatible implementations.
type UnimplementedJVMMetricsServiceServer struct {
}
func (*UnimplementedJVMMetricsServiceServer) Collect(ctx context.Context, req *JVMMetrics) (*Downstream, error) {
return nil, status.Errorf(codes.Unimplemented, "method Collect not implemented")
}
func RegisterJVMMetricsServiceServer(s *grpc.Server, srv JVMMetricsServiceServer) {
s.RegisterService(&_JVMMetricsService_serviceDesc, srv)
}
func _JVMMetricsService_Collect_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(JVMMetrics)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(JVMMetricsServiceServer).Collect(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/JVMMetricsService/Collect",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(JVMMetricsServiceServer).Collect(ctx, req.(*JVMMetrics))
}
return interceptor(ctx, in, info, handler)
}
var _JVMMetricsService_serviceDesc = grpc.ServiceDesc{
ServiceName: "JVMMetricsService",
HandlerType: (*JVMMetricsServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "collect",
Handler: _JVMMetricsService_Collect_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "language-agent/JVMMetricsService.proto",
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: language-agent/KeyWithIntegerValue.proto
package v1
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type KeyWithIntegerValue struct {
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
Value int32 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *KeyWithIntegerValue) Reset() { *m = KeyWithIntegerValue{} }
func (m *KeyWithIntegerValue) String() string { return proto.CompactTextString(m) }
func (*KeyWithIntegerValue) ProtoMessage() {}
func (*KeyWithIntegerValue) Descriptor() ([]byte, []int) {
return fileDescriptor_e5c321729f520ebb, []int{0}
}
func (m *KeyWithIntegerValue) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KeyWithIntegerValue.Unmarshal(m, b)
}
func (m *KeyWithIntegerValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_KeyWithIntegerValue.Marshal(b, m, deterministic)
}
func (m *KeyWithIntegerValue) XXX_Merge(src proto.Message) {
xxx_messageInfo_KeyWithIntegerValue.Merge(m, src)
}
func (m *KeyWithIntegerValue) XXX_Size() int {
return xxx_messageInfo_KeyWithIntegerValue.Size(m)
}
func (m *KeyWithIntegerValue) XXX_DiscardUnknown() {
xxx_messageInfo_KeyWithIntegerValue.DiscardUnknown(m)
}
var xxx_messageInfo_KeyWithIntegerValue proto.InternalMessageInfo
func (m *KeyWithIntegerValue) GetKey() string {
if m != nil {
return m.Key
}
return ""
}
func (m *KeyWithIntegerValue) GetValue() int32 {
if m != nil {
return m.Value
}
return 0
}
func init() {
proto.RegisterType((*KeyWithIntegerValue)(nil), "KeyWithIntegerValue")
}
func init() {
proto.RegisterFile("language-agent/KeyWithIntegerValue.proto", fileDescriptor_e5c321729f520ebb)
}
var fileDescriptor_e5c321729f520ebb = []byte{
// 186 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0xc8, 0x49, 0xcc, 0x4b,
0x2f, 0x4d, 0x4c, 0x4f, 0xd5, 0x4d, 0x4c, 0x4f, 0xcd, 0x2b, 0xd1, 0xf7, 0x4e, 0xad, 0x0c, 0xcf,
0x2c, 0xc9, 0xf0, 0xcc, 0x2b, 0x49, 0x4d, 0x4f, 0x2d, 0x0a, 0x4b, 0xcc, 0x29, 0x4d, 0xd5, 0x2b,
0x28, 0xca, 0x2f, 0xc9, 0x57, 0xb2, 0xe5, 0x12, 0xc6, 0x22, 0x29, 0x24, 0xc0, 0xc5, 0x9c, 0x9d,
0x5a, 0x29, 0xc1, 0xa8, 0xc0, 0xa8, 0xc1, 0x19, 0x04, 0x62, 0x0a, 0x89, 0x70, 0xb1, 0x96, 0x81,
0xa4, 0x24, 0x98, 0x14, 0x18, 0x35, 0x58, 0x83, 0x20, 0x1c, 0xa7, 0x72, 0x2e, 0x83, 0xfc, 0xa2,
0x74, 0xbd, 0xc4, 0x82, 0xc4, 0xe4, 0x8c, 0x54, 0xbd, 0xe2, 0xec, 0xca, 0xf2, 0xc4, 0x9c, 0xec,
0xcc, 0x3c, 0x90, 0x48, 0xae, 0x5e, 0x5e, 0x6a, 0x49, 0x79, 0x7e, 0x51, 0xb6, 0x1e, 0xcc, 0x31,
0x7a, 0x60, 0xc7, 0x04, 0x30, 0x46, 0xa9, 0x20, 0x14, 0xea, 0x43, 0x15, 0xe9, 0xc3, 0x14, 0xe9,
0x43, 0x5c, 0x5c, 0x66, 0xb8, 0x8a, 0x49, 0x2a, 0x38, 0xbb, 0x32, 0x1c, 0x6a, 0x9e, 0x1f, 0x44,
0x59, 0x00, 0xc8, 0xd1, 0xc9, 0xf9, 0x39, 0x49, 0x6c, 0x60, 0xe7, 0x1b, 0x03, 0x02, 0x00, 0x00,
0xff, 0xff, 0x00, 0x51, 0x70, 0xbd, 0xea, 0x00, 0x00, 0x00,
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: language-agent/KeyWithStringValue.proto
package v1
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type KeyWithStringValue struct {
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *KeyWithStringValue) Reset() { *m = KeyWithStringValue{} }
func (m *KeyWithStringValue) String() string { return proto.CompactTextString(m) }
func (*KeyWithStringValue) ProtoMessage() {}
func (*KeyWithStringValue) Descriptor() ([]byte, []int) {
return fileDescriptor_8d2e5fffd6fcf7d0, []int{0}
}
func (m *KeyWithStringValue) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KeyWithStringValue.Unmarshal(m, b)
}
func (m *KeyWithStringValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_KeyWithStringValue.Marshal(b, m, deterministic)
}
func (m *KeyWithStringValue) XXX_Merge(src proto.Message) {
xxx_messageInfo_KeyWithStringValue.Merge(m, src)
}
func (m *KeyWithStringValue) XXX_Size() int {
return xxx_messageInfo_KeyWithStringValue.Size(m)
}
func (m *KeyWithStringValue) XXX_DiscardUnknown() {
xxx_messageInfo_KeyWithStringValue.DiscardUnknown(m)
}
var xxx_messageInfo_KeyWithStringValue proto.InternalMessageInfo
func (m *KeyWithStringValue) GetKey() string {
if m != nil {
return m.Key
}
return ""
}
func (m *KeyWithStringValue) GetValue() string {
if m != nil {
return m.Value
}
return ""
}
func init() {
proto.RegisterType((*KeyWithStringValue)(nil), "KeyWithStringValue")
}
func init() {
proto.RegisterFile("language-agent/KeyWithStringValue.proto", fileDescriptor_8d2e5fffd6fcf7d0)
}
var fileDescriptor_8d2e5fffd6fcf7d0 = []byte{
// 182 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0xcf, 0x49, 0xcc, 0x4b,
0x2f, 0x4d, 0x4c, 0x4f, 0xd5, 0x4d, 0x4c, 0x4f, 0xcd, 0x2b, 0xd1, 0xf7, 0x4e, 0xad, 0x0c, 0xcf,
0x2c, 0xc9, 0x08, 0x2e, 0x29, 0xca, 0xcc, 0x4b, 0x0f, 0x4b, 0xcc, 0x29, 0x4d, 0xd5, 0x2b, 0x28,
0xca, 0x2f, 0xc9, 0x57, 0xb2, 0xe1, 0x12, 0xc2, 0x94, 0x13, 0x12, 0xe0, 0x62, 0xce, 0x4e, 0xad,
0x94, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x0c, 0x02, 0x31, 0x85, 0x44, 0xb8, 0x58, 0xcb, 0x40, 0x52,
0x12, 0x4c, 0x60, 0x31, 0x08, 0xc7, 0xa9, 0x9c, 0xcb, 0x20, 0xbf, 0x28, 0x5d, 0x2f, 0xb1, 0x20,
0x31, 0x39, 0x23, 0x55, 0xaf, 0x38, 0xbb, 0xb2, 0x3c, 0x31, 0x27, 0x3b, 0x33, 0x0f, 0x24, 0x92,
0xab, 0x97, 0x97, 0x5a, 0x52, 0x9e, 0x5f, 0x94, 0xad, 0x07, 0x73, 0x8a, 0x1e, 0xd8, 0x29, 0x01,
0x8c, 0x51, 0x2a, 0x08, 0x85, 0xfa, 0x50, 0x45, 0xfa, 0x30, 0x45, 0xfa, 0x10, 0xf7, 0x96, 0x19,
0xae, 0x62, 0x92, 0x0a, 0xce, 0xae, 0x0c, 0x87, 0x9a, 0xe7, 0x07, 0x51, 0x16, 0x00, 0x72, 0x73,
0x72, 0x7e, 0x4e, 0x12, 0x1b, 0xd8, 0xf5, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x60,
0xf3, 0xa1, 0xe8, 0x00, 0x00, 0x00,
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: language-agent/NetworkAddressRegisterService.proto
package v1
import (
context "context"
fmt "fmt"
proto "github.com/golang/protobuf/proto"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type NetworkAddresses struct {
Addresses []string `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *NetworkAddresses) Reset() { *m = NetworkAddresses{} }
func (m *NetworkAddresses) String() string { return proto.CompactTextString(m) }
func (*NetworkAddresses) ProtoMessage() {}
func (*NetworkAddresses) Descriptor() ([]byte, []int) {
return fileDescriptor_a4e4dbd2bcd5400f, []int{0}
}
func (m *NetworkAddresses) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NetworkAddresses.Unmarshal(m, b)
}
func (m *NetworkAddresses) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_NetworkAddresses.Marshal(b, m, deterministic)
}
func (m *NetworkAddresses) XXX_Merge(src proto.Message) {
xxx_messageInfo_NetworkAddresses.Merge(m, src)
}
func (m *NetworkAddresses) XXX_Size() int {
return xxx_messageInfo_NetworkAddresses.Size(m)
}
func (m *NetworkAddresses) XXX_DiscardUnknown() {
xxx_messageInfo_NetworkAddresses.DiscardUnknown(m)
}
var xxx_messageInfo_NetworkAddresses proto.InternalMessageInfo
func (m *NetworkAddresses) GetAddresses() []string {
if m != nil {
return m.Addresses
}
return nil
}
type NetworkAddressMappings struct {
AddressIds []*KeyWithIntegerValue `protobuf:"bytes,1,rep,name=addressIds,proto3" json:"addressIds,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *NetworkAddressMappings) Reset() { *m = NetworkAddressMappings{} }
func (m *NetworkAddressMappings) String() string { return proto.CompactTextString(m) }
func (*NetworkAddressMappings) ProtoMessage() {}
func (*NetworkAddressMappings) Descriptor() ([]byte, []int) {
return fileDescriptor_a4e4dbd2bcd5400f, []int{1}
}
func (m *NetworkAddressMappings) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NetworkAddressMappings.Unmarshal(m, b)
}
func (m *NetworkAddressMappings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_NetworkAddressMappings.Marshal(b, m, deterministic)
}
func (m *NetworkAddressMappings) XXX_Merge(src proto.Message) {
xxx_messageInfo_NetworkAddressMappings.Merge(m, src)
}
func (m *NetworkAddressMappings) XXX_Size() int {
return xxx_messageInfo_NetworkAddressMappings.Size(m)
}
func (m *NetworkAddressMappings) XXX_DiscardUnknown() {
xxx_messageInfo_NetworkAddressMappings.DiscardUnknown(m)
}
var xxx_messageInfo_NetworkAddressMappings proto.InternalMessageInfo
func (m *NetworkAddressMappings) GetAddressIds() []*KeyWithIntegerValue {
if m != nil {
return m.AddressIds
}
return nil
}
func init() {
proto.RegisterType((*NetworkAddresses)(nil), "NetworkAddresses")
proto.RegisterType((*NetworkAddressMappings)(nil), "NetworkAddressMappings")
}
func init() {
proto.RegisterFile("language-agent/NetworkAddressRegisterService.proto", fileDescriptor_a4e4dbd2bcd5400f)
}
var fileDescriptor_a4e4dbd2bcd5400f = []byte{
// 265 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x90, 0x41, 0x4b, 0xc3, 0x40,
0x10, 0x85, 0xad, 0x82, 0xd0, 0x15, 0x41, 0x83, 0xa8, 0x04, 0x05, 0x09, 0x1e, 0x7a, 0x71, 0x52,
0xa3, 0x57, 0x0f, 0x7a, 0x2b, 0x62, 0x29, 0x29, 0x58, 0xf0, 0x20, 0x4c, 0x93, 0x61, 0xb3, 0x24,
0xee, 0x86, 0xdd, 0x6d, 0x43, 0xfe, 0x92, 0xbf, 0x52, 0xda, 0x6c, 0xa8, 0x2d, 0xa1, 0xc7, 0x3c,
0xbe, 0x37, 0x79, 0xfb, 0xb1, 0xa8, 0x40, 0xc9, 0x17, 0xc8, 0xe9, 0x01, 0x39, 0x49, 0x1b, 0x8e,
0xc9, 0x56, 0x4a, 0xe7, 0xaf, 0x69, 0xaa, 0xc9, 0x98, 0x98, 0xb8, 0x30, 0x96, 0xf4, 0x94, 0xf4,
0x52, 0x24, 0x04, 0xa5, 0x56, 0x56, 0xf9, 0x83, 0x9d, 0xce, 0x3b, 0xd5, 0x33, 0x61, 0xb3, 0x91,
0xb4, 0xc4, 0x49, 0x7f, 0x62, 0xb1, 0x70, 0x64, 0x30, 0x64, 0x67, 0xdb, 0x07, 0xc9, 0x78, 0x37,
0xac, 0x8f, 0xed, 0xc7, 0x75, 0xef, 0xee, 0x68, 0xd0, 0x8f, 0x37, 0x41, 0x30, 0x66, 0x97, 0xdb,
0x8d, 0x0f, 0x2c, 0x4b, 0x21, 0xb9, 0xf1, 0x9e, 0x19, 0x73, 0xd8, 0x28, 0x6d, 0x8a, 0x27, 0xd1,
0x05, 0x74, 0xfc, 0x3b, 0xfe, 0xc7, 0x45, 0xdf, 0xec, 0x76, 0xef, 0x93, 0xbc, 0x17, 0x76, 0x3a,
0x47, 0x9b, 0x64, 0x6d, 0xee, 0x9d, 0xc3, 0xee, 0x64, 0xff, 0x0a, 0xba, 0x37, 0x05, 0x07, 0x6f,
0x15, 0x1b, 0x2a, 0xcd, 0x01, 0x4b, 0x4c, 0x32, 0x02, 0x93, 0xd7, 0x15, 0x16, 0xb9, 0x90, 0xab,
0xe4, 0x07, 0x64, 0xd3, 0x82, 0xd6, 0x17, 0xac, 0x7d, 0x4d, 0x7a, 0x5f, 0xf7, 0x1b, 0x30, 0x74,
0x50, 0xd8, 0x42, 0x61, 0x23, 0x75, 0xf9, 0xf8, 0x7b, 0xe8, 0x4f, 0xf3, 0x7a, 0xe6, 0xee, 0xb9,
0x05, 0x93, 0x95, 0xd7, 0x44, 0x15, 0xf3, 0xe3, 0xb5, 0xe1, 0xa7, 0xbf, 0x00, 0x00, 0x00, 0xff,
0xff, 0x6e, 0xd5, 0x9d, 0x84, 0xc1, 0x01, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4
// NetworkAddressRegisterServiceClient is the client API for NetworkAddressRegisterService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type NetworkAddressRegisterServiceClient interface {
BatchRegister(ctx context.Context, in *NetworkAddresses, opts ...grpc.CallOption) (*NetworkAddressMappings, error)
}
type networkAddressRegisterServiceClient struct {
cc *grpc.ClientConn
}
func NewNetworkAddressRegisterServiceClient(cc *grpc.ClientConn) NetworkAddressRegisterServiceClient {
return &networkAddressRegisterServiceClient{cc}
}
func (c *networkAddressRegisterServiceClient) BatchRegister(ctx context.Context, in *NetworkAddresses, opts ...grpc.CallOption) (*NetworkAddressMappings, error) {
out := new(NetworkAddressMappings)
err := c.cc.Invoke(ctx, "/NetworkAddressRegisterService/batchRegister", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// NetworkAddressRegisterServiceServer is the server API for NetworkAddressRegisterService service.
type NetworkAddressRegisterServiceServer interface {
BatchRegister(context.Context, *NetworkAddresses) (*NetworkAddressMappings, error)
}
// UnimplementedNetworkAddressRegisterServiceServer can be embedded to have forward compatible implementations.
type UnimplementedNetworkAddressRegisterServiceServer struct {
}
func (*UnimplementedNetworkAddressRegisterServiceServer) BatchRegister(ctx context.Context, req *NetworkAddresses) (*NetworkAddressMappings, error) {
return nil, status.Errorf(codes.Unimplemented, "method BatchRegister not implemented")
}
func RegisterNetworkAddressRegisterServiceServer(s *grpc.Server, srv NetworkAddressRegisterServiceServer) {
s.RegisterService(&_NetworkAddressRegisterService_serviceDesc, srv)
}
func _NetworkAddressRegisterService_BatchRegister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(NetworkAddresses)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(NetworkAddressRegisterServiceServer).BatchRegister(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/NetworkAddressRegisterService/BatchRegister",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(NetworkAddressRegisterServiceServer).BatchRegister(ctx, req.(*NetworkAddresses))
}
return interceptor(ctx, in, info, handler)
}
var _NetworkAddressRegisterService_serviceDesc = grpc.ServiceDesc{
ServiceName: "NetworkAddressRegisterService",
HandlerType: (*NetworkAddressRegisterServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "batchRegister",
Handler: _NetworkAddressRegisterService_BatchRegister_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "language-agent/NetworkAddressRegisterService.proto",
}
此差异已折叠。
此差异已折叠。
此差异已折叠。
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
syntax = "proto3";
option java_multiple_files = true;
option java_package = "org.apache.skywalking.apm.network.language.agent";
option csharp_namespace = "SkyWalking.NetworkProtocol";
option go_package = "skywalking/network/language/agent/v1";
import "common/common.proto";
message CLRMetricV1 {
int64 time = 1;
CPUV1 cpu = 2;
ClrGCV1 gc = 3;
ClrThreadV1 thread = 4;
}
message ClrGCV1 {
int64 Gen0CollectCount = 1;
int64 Gen1CollectCount = 2;
int64 Gen2CollectCount = 3;
int64 HeapMemory = 4;
}
message ClrThreadV1 {
int32 AvailableCompletionPortThreads = 1;
int32 AvailableWorkerThreads = 2;
int32 MaxCompletionPortThreads = 3;
int32 MaxWorkerThreads = 4;
}
\ No newline at end of file
# Apache SkyWalking data collect protocol
Apache SkyWalking can collect data from different sources. Each kind of source should follow the protocols in this repo.
## License
Apache 2.0
此差异已折叠。
此差异已折叠。
Subproject commit 7e563891f3cfaf5c19ad086434af93aaab996719
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册