提交 b1c50d93 编写于 作者: H heyanlong

generate sw3

上级 1424720a
.deps .deps
.idea
cmake-build-debug
CMakeLists.txt
sky-php7ext/grpc/*
sky-php7ext/configure.ac
sky-php7ext/skywalking.loT
sky-php7ext\.idea sky-php7ext\.idea
sky-php7ext\*.lo sky-php7ext\*.lo
sky-php7ext\*.la sky-php7ext\*.la
......
[submodule "sky-php7ext/protos"] [submodule "sky-php7ext/protos"]
path = sky-php7ext/protos path = sky-php7ext/src/protos
url = https://github.com/apache/incubator-skywalking-data-collect-protocol.git url = https://github.com/apache/incubator-skywalking-data-collect-protocol.git
...@@ -21,6 +21,13 @@ dnl [ --enable-skywalking Enable skywalking support]) ...@@ -21,6 +21,13 @@ dnl [ --enable-skywalking Enable skywalking support])
PHP_ARG_ENABLE(skywalking, whether to enable skywalking support, PHP_ARG_ENABLE(skywalking, whether to enable skywalking support,
[ --enable-skywalking Enable skywalking support]) [ --enable-skywalking Enable skywalking support])
if test -z "$PHP_DEBUG"; then
AC_ARG_ENABLE(debug,
[--enable-debug compile with debugging system],
[PHP_DEBUG=$enableval], [PHP_DEBUG=no]
)
fi
if test "$PHP_SKYWALKING" != "no"; then if test "$PHP_SKYWALKING" != "no"; then
dnl Write more examples of tests here... dnl Write more examples of tests here...
...@@ -62,26 +69,28 @@ if test "$PHP_SKYWALKING" != "no"; then ...@@ -62,26 +69,28 @@ if test "$PHP_SKYWALKING" != "no"; then
dnl ]) dnl ])
dnl dnl
dnl PHP_SUBST(SKYWALKING_SHARED_LIBADD) dnl PHP_SUBST(SKYWALKING_SHARED_LIBADD)
CXXFLAGS+=" -std=c++11 "
PHP_REQUIRE_CXX() PHP_REQUIRE_CXX()
KYWALKING_LIBS=" -L/usr/local/lib " KYWALKING_LIBS=" -L/usr/local/lib "
KYWALKING_LIBS+=`pkg-config --libs protobuf grpc++ grpc` KYWALKING_LIBS+=`pkg-config --libs protobuf grpc++ grpc`
KYWALKING_LIBS+="-Wl,--no-as-needed -lgrpc++_reflection -Wl,--as-needed -ldl" KYWALKING_LIBS+=" -Wl,--no-as-needed -lgrpc++_reflection -Wl,--as-needed -ldl "
AC_OUTPUT_COMMANDS( AC_OUTPUT_COMMANDS(
protoc -I ./protos --cpp_out=./grpc ./protos/DiscoveryService.proto protoc -I ./src/protos --cpp_out=./src/grpc ./src/protos/*.proto
protoc -I ./protos --cpp_out=./grpc ./protos/ApplicationRegisterService.proto protoc -I ./src/protos --grpc_out=./src/grpc --plugin=protoc-gen-grpc=`which grpc_cpp_plugin` ./src/protos/*.proto
protoc -I ./protos --cpp_out=./grpc ./protos/TraceSegmentService.proto
)
AC_OUTPUT_COMMANDS(
protoc -I ./protos --grpc_out=./grpc --plugin=protoc-gen-grpc=`which grpc_cpp_plugin` ./protos/DiscoveryService.proto
protoc -I ./protos --grpc_out=./grpc --plugin=protoc-gen-grpc=`which grpc_cpp_plugin` ./protos/ApplicationRegisterService.proto
protoc -I ./protos --grpc_out=./grpc --plugin=protoc-gen-grpc=`which grpc_cpp_plugin` ./protos/TraceSegmentService.proto
) )
AC_OUTPUT_COMMANDS( AC_OUTPUT_COMMANDS(
mv grpc/DiscoveryService.grpc.pb.cc grpc/DiscoveryService-grpc.pb.cc mv src/grpc/ApplicationRegisterService.grpc.pb.cc src/grpc/ApplicationRegisterService-grpc.pb.cc
mv grpc/ApplicationRegisterService.grpc.pb.cc grpc/ApplicationRegisterService-grpc.pb.cc mv src/grpc/Common.grpc.pb.cc src/grpc/Common-grpc.pb.cc
mv grpc/TraceSegmentService.grpc.pb.cc grpc/TraceSegmentService-grpc.pb.cc mv src/grpc/DiscoveryService.grpc.pb.cc src/grpc/DiscoveryService-grpc.pb.cc
mv src/grpc/Downstream.grpc.pb.cc src/grpc/Downstream-grpc.pb.cc
mv src/grpc/JVMMetricsService.grpc.pb.cc src/grpc/JVMMetricsService-grpc.pb.cc
mv src/grpc/KeyWithIntegerValue.grpc.pb.cc src/grpc/KeyWithIntegerValue-grpc.pb.cc
mv src/grpc/KeyWithStringValue.grpc.pb.cc src/grpc/KeyWithStringValue-grpc.pb.cc
mv src/grpc/NetworkAddressRegisterService.grpc.pb.cc src/grpc/NetworkAddressRegisterService-grpc.pb.cc
mv src/grpc/TraceSegmentService.grpc.pb.cc src/grpc/TraceSegmentService-grpc.pb.cc
) )
PHP_EVAL_LIBLINE($KYWALKING_LIBS, SKYWALKING_SHARED_LIBADD) PHP_EVAL_LIBLINE($KYWALKING_LIBS, SKYWALKING_SHARED_LIBADD)
...@@ -89,16 +98,9 @@ if test "$PHP_SKYWALKING" != "no"; then ...@@ -89,16 +98,9 @@ if test "$PHP_SKYWALKING" != "no"; then
PHP_NEW_EXTENSION(skywalking, \ PHP_NEW_EXTENSION(skywalking, \
skywalking.c \ skywalking.c \
grpc/greeter_client.cc \ , $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
grpc/DiscoveryService.pb.cc \
grpc/DiscoveryService-grpc.pb.cc \
grpc/ApplicationRegisterService.pb.cc \
grpc/ApplicationRegisterService-grpc.pb.cc \
grpc/TraceSegmentService.pb.cc \
grpc/TraceSegmentService-grpc.pb.cc \
, $ext_shared,, -std=c++11 -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
PHP_ADD_BUILD_DIR($ext_builddir/grpc)
PHP_ADD_BUILD_DIR($ext_builddir/src/grpc)
PHP_ADD_LIBRARY(stdc++, 1, SKYWALKING_SHARED_LIBADD)
PHP_SUBST(SKYWALKING_SHARED_LIBADD) PHP_SUBST(SKYWALKING_SHARED_LIBADD)
fi fi
...@@ -52,7 +52,7 @@ extern zend_module_entry skywalking_module_entry; ...@@ -52,7 +52,7 @@ extern zend_module_entry skywalking_module_entry;
#define DONOT_USE_PARENT_TRACE_ID 0 #define DONOT_USE_PARENT_TRACE_ID 0
#define SHARED_MEMORY_KEY 428935192
#define SKYWALKING_SEGMENT "sg" //全部段节点 #define SKYWALKING_SEGMENT "sg" //全部段节点
#define SKYWALKING_DISTRIBUTED_TRACEIDS "gt"//DistributedTraceIds #define SKYWALKING_DISTRIBUTED_TRACEIDS "gt"//DistributedTraceIds
#define SKYWALKING_TRACE_SEGMENT_ID "ts"//本次请求id #define SKYWALKING_TRACE_SEGMENT_ID "ts"//本次请求id
...@@ -128,14 +128,17 @@ static char *build_SWheader_value(const char *peer_host); ...@@ -128,14 +128,17 @@ static char *build_SWheader_value(const char *peer_host);
static zval receive_SWHeader_from_caller(); static zval receive_SWHeader_from_caller();
static char *get_millisecond(); static char *get_millisecond();
static char *uniqid(); static char *uniqid();
static char *make_trace_id(); static char *generate_sw3(zend_long span_id, zend_string *peer_host, zend_string *operation_name);
static void make_trace_id();
static zend_always_inline zend_uchar is_sampling(); static zend_always_inline zend_uchar is_sampling();
static char *generate_trace_id(); static char *generate_trace_id();
static char *get_ip(); static char *get_ip();
static char *get_page_request_uri();
static char *get_page_url_and_peer(); static char *get_page_url_and_peer();
static long generate_span_id(); static long generate_span_id();
static void *write_log( char *text); static void *write_log( char *text);
static zval *set_span_nodes_data(zval *node_data); static zval *set_span_nodes_data(zval *node_data);
static void request_init();
static long sky_array_unshift(zval *stack, zval *var); static long sky_array_unshift(zval *stack, zval *var);
static void set_sampling_rate(double degrees); static void set_sampling_rate(double degrees);
static void set_span_param_of_curl(char *peer_host); static void set_span_param_of_curl(char *peer_host);
...@@ -145,10 +148,12 @@ static int is_auto_open(); ...@@ -145,10 +148,12 @@ static int is_auto_open();
void accel_sky_curl_init(INTERNAL_FUNCTION_PARAMETERS); void accel_sky_curl_init(INTERNAL_FUNCTION_PARAMETERS);
void accel_sky_curl_setopt(INTERNAL_FUNCTION_PARAMETERS); void accel_sky_curl_setopt(INTERNAL_FUNCTION_PARAMETERS);
void accel_sky_curl_exec(INTERNAL_FUNCTION_PARAMETERS); void sky_curl_exec_handler(INTERNAL_FUNCTION_PARAMETERS);
void list_poll(comList* myroot); void list_poll(comList* myroot);
static void *sky_flush_all(); static void *sky_flush_all();
static zval *get_first_span();
static zval *get_spans();
static char* _get_current_machine_ip(); static char* _get_current_machine_ip();
static int get_app_instance_id(); static int get_app_instance_id();
static int get_app_id(); static int get_app_id();
...@@ -181,6 +186,8 @@ ZEND_BEGIN_MODULE_GLOBALS(skywalking) ...@@ -181,6 +186,8 @@ ZEND_BEGIN_MODULE_GLOBALS(skywalking)
zend_bool global_auto_open; zend_bool global_auto_open;
double global_sampling_rate; double global_sampling_rate;
char *global_app_grpc_trace; char *global_app_grpc_trace;
zval UpstreamSegment;
zval context;
ZEND_END_MODULE_GLOBALS(skywalking) ZEND_END_MODULE_GLOBALS(skywalking)
extern ZEND_DECLARE_MODULE_GLOBALS(skywalking); extern ZEND_DECLARE_MODULE_GLOBALS(skywalking);
...@@ -189,7 +196,11 @@ extern ZEND_DECLARE_MODULE_GLOBALS(skywalking); ...@@ -189,7 +196,11 @@ extern ZEND_DECLARE_MODULE_GLOBALS(skywalking);
You are encouraged to rename these macros something shorter, see You are encouraged to rename these macros something shorter, see
examples in any other php module directory. examples in any other php module directory.
*/ */
#ifdef ZTS
#define SKYWALKING_G(v) TSRMG(skywalking_globals_id, zend_skywalking_globals *, v)
#else
#define SKYWALKING_G(v) ZEND_MODULE_GLOBALS_ACCESSOR(skywalking, v) #define SKYWALKING_G(v) ZEND_MODULE_GLOBALS_ACCESSOR(skywalking, v)
#endif
#if defined(ZTS) && defined(COMPILE_DL_SKYWALKING) #if defined(ZTS) && defined(COMPILE_DL_SKYWALKING)
ZEND_TSRMLS_CACHE_EXTERN() ZEND_TSRMLS_CACHE_EXTERN()
......
Subproject commit b66fa070fd647662f06497e4ed3657eb258cb6e9
此差异已折叠。
Subproject commit c02c12af12116121e25155d1f3fca0fadee5f2e9
//
// Created by Yanlong He on 2018/11/30.
//
#include "tools.h"
//
// Created by Yanlong He on 2018/11/30.
//
#ifndef SKYWALKING_TOOLS_H
#define SKYWALKING_TOOLS_H
#endif //SKYWALKING_TOOLS_H
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册