profile
viewpoint
WenTao Ou owent Tencent Shanghai, China https://www.owent.net Main contributor of @atframework and @xresloader

owent/libcopp 487

cross-platform coroutine library in c++

owent/libatbus 42

用于搭建高性能、全异步、树形结构的BUS消息系统的跨平台框架库。项目迁移到 https://github.com/atframework/libatbus

owent/libiniloader 33

一个简单而的ini配置读取库(带扩展语法)

owent/WP-Code-Highlight.js 26

highligh.js plugin for wordpress

owent/hiredis-happ 23

Redis high available solution for c++

owent/libsimulator 12

游戏服务器-客户端模拟框架,可用于模拟客户端发包,接入Lua脚本,开发自测,压测等

owent/devops_webtools 8

开发运维工具-用于内网开发环境服务器发布和管理

owent/devops_mirrors 7

用于同步一些开源镜像供内网使用

owent/OWenT-s-Utils 7

个人代码记录册,已迁移到 https://github.com/owent-utils

push eventowent-utils/docker-setup

owent

commit sha d29d2b40687c3c75a971583ce87713b6dcdfba33

修订mwan下反向连接的问题 Signed-off-by: owent <admin@owent.net>

view details

push time in 6 hours

push eventowent-utils/bash-shell

owentou

commit sha 62a93b2a72490ad2f56e8779646d0127f21cca2e

Update packages Signed-off-by: owentou <owentou@tencent.com>

view details

push time in a day

push eventatframework/atframe_utils

owent

commit sha 1baec73e8ad7cd332fe1c8ec5574dbf9ea3aa055

Add subscriber_force_sync_snapshot

view details

push time in 3 days

push eventatframework/atsf4g-co

owent

commit sha 065abb1d14fc3d5ff18c8ba25885b2dc34af5376

Fix logout

view details

push time in 4 days

push eventowent/libcopp

owent

commit sha 835b7838ab69d4475a93515c6bd9f1a50eac9083

Fix compile problem in gcc

view details

push time in 4 days

push eventowent/libcopp

owentou

commit sha 86c106f2ca689aba0e956d27a08904598cd349bc

Use `variant` to store callers when possiable Signed-off-by: owentou <owentou@tencent.com>

view details

push time in 4 days

push eventowent/libcopp

owentou

commit sha 93150531e853c13de051278314cd46f00a865e08

Finish callable_promise Signed-off-by: owentou <owentou@tencent.com>

view details

push time in 4 days

issue commentopen-telemetry/opentelemetry-cpp

Could we add worker thread pool for `BatchLogProcessor` and `BatchSpanProcessor`?

I create another issue for make OtlpHttpClient asynchronously. #1176

owent

comment created time in 5 days

issue openedopen-telemetry/opentelemetry-cpp

Do not `waitForResponse` in `OtlpHttpClient::Export` ?

Is your feature request related to a problem?

Mentioned in #1175 .

Describe the solution you'd like

Do not waitForResponse in OtlpHttpClient::Export and destroy session only after ResponseHandler got some events. We also need control parallel thread spawned by HttpOperation::SendAsync here.

created time in 5 days

issue commentopen-telemetry/opentelemetry-cpp

Could we add worker thread pool for `BatchLogProcessor` and `BatchSpanProcessor`?

The worker thread cost only about 10% of CPU time but it will drop logs because the circular buffer is full when waiting for response of previous http request.

How is thread pool going to help here, as it still needs to wait for a response from ongoing Export() before invoking another? We can't have concurrent execution of Export() method from multiple threads(as per the specs). Also, the Export() should return with the status of export over the wire (as per the specs). I think it's important to specify the proper values for BatchSpanProcessor configuration parameters to minimize dropping logs/spans, along with optimal memory usage.

Sorry if I am missing the approach suggested here, we can discuss more in that case :)

With worker pool, we can start more http requests parallel. I mean let BatchSpanProcessor contains more than one SpanExporter and also let BatchLogProcessor contains more than one LogExporter, and create a worker thread for each Exporter. All SpanExporter::Export() and LogExporter::Export() are still run in their own thread and will not execute concurrently. We can dispatch logs and spans by hash of trace_id or log_name .

owent

comment created time in 5 days

issue openedopen-telemetry/opentelemetry-cpp

Could we add worker thread pool for `BatchLogProcessor` and `BatchSpanProcessor`?

Is your feature request related to a problem?

In some system , we have a lot of logs to commit in one batch and it takes a long time to receive the response.(via BatchLogProcessor and OtlpHttpLogExporter, it takes about 100-200ms to get the http response).The worker thread cost only about 10% of CPU time but it will drop logs because the circular buffer is full when waiting for response of previous http request.

Describe the solution you'd like

I thinkg maybe it can be solved by adding worker pool to BatchLogProcessor and BatchSpanProcessor or use asynchronous IO APIs of gRPC or HTTP client.I think it's easier to implement a worker pool.

Describe alternatives you've considered

Now, HttpOperation::SendAsync spawn a new thread by std::async and use the synchronous APIs of curl.Maybe we can also use curl_multi_* and do not wait for reponse in OtlpHttpClient::Export to optimize the performance?

created time in 5 days

Pull request review commentopen-telemetry/opentelemetry-cpp

Jaeger exporter Windows and Mac bazel

+load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")

Sounds good and thanks.

esigo

comment created time in 6 days

PullRequestReviewEvent

Pull request review commentopen-telemetry/opentelemetry-cpp

Jaeger exporter Windows and Mac bazel

+load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")

In cmake, we can use -DgRPC_SSL_PROVIDER=package and -DOPENSSL_ROOT_DIR=<OpenSSL installation directory> when building grpc and grpc will use openssl to replace boringssl. But I'm not familiar with bazel and not know how to do this in bazel.

esigo

comment created time in 6 days

PullRequestReviewEvent

Pull request review commentopen-telemetry/opentelemetry-cpp

Jaeger exporter Windows and Mac bazel

+load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")

boringssl and openssl have some symbols with same name. I just wonder whether they have 100% ABI compatibility with each other. If so, it's fine to use one implementation of some functions and global variables and use the rest functions and global variables of another.

esigo

comment created time in 6 days

PullRequestReviewEvent

push eventowent-utils/docker-setup

owent

commit sha dd62c97318ad27fe82c35f785de3be5487385289

Fix spell error Signed-off-by: owent <admin@owent.net>

view details

push time in 6 days

created tagowent/ddns-cli

tagv0.2.1

created time in 6 days

push eventowent/ddns-cli

owent

commit sha f01f5e305c81ec900c9fa71cb04dbc3dfea0b218

Test native-tls-vendored

view details

push time in 6 days

push eventowent/ddns-cli

owent

commit sha 16fdd85a48cdb39f8b0366fc6d21e0420a56c45a

Test again

view details

push time in 6 days

push eventowent/ddns-cli

owent

commit sha 59200d96963203c89f127fb2d317642996ef523b

Cleanupo old ci scripts

view details

push time in 6 days

push eventowent/ddns-cli

owent

commit sha 10b77eff148937c14c053fa633bd20d714a747c7

Cleanup old CI scripts

view details

push time in 6 days

create barnchowent/ddns-cli

branch : main

created branch time in 6 days

push eventowent-utils/docker-setup

owent

commit sha 92f78da05a61c93c8b8939d40092e7736c91e020

Update Signed-off-by: owent <admin@owent.net>

view details

push time in 6 days

Pull request review commentopen-telemetry/opentelemetry-cpp

Waiting a longer time when run unit tests of http client, which may take a long time when run under valgrind.

 TEST_F(OtlpHttpLogExporterTestPeer, ExportJsonIntegrationTest)     report_span_id.assign(span_id_hex, sizeof(span_id_hex));   } -  ASSERT_TRUE(waitForRequests(8, old_count + 1));+  ASSERT_TRUE(waitForRequests(30, old_count + 1));

Agree

owent

comment created time in 6 days

PullRequestReviewEvent

pull request commentopen-telemetry/opentelemetry-cpp

Waiting a longer time when run unit tests of http client, which may take a long time when run under valgrind.

@owent - can you please rebase this PR with main, to allow merging.

Done

owent

comment created time in 6 days

push eventowent-contrib/opentelemetry-cpp

WenTao Ou

commit sha b8fae39f81cfe079db84d7c5348b431b54580675

Use custom abseil with bazel (#1172)

view details

Ehsan Saei

commit sha f380fcba45112b91deb53d14daae785cdbf320b5

Logger-Support-for-Instrumentation-library (#1149)

view details

owentou

commit sha cefe6ae20dd7ec6dc74ce484881495d0d82ee653

Waiting a longer time when run unit tests of http client, which may take a long time when run under valgrind. Signed-off-by: owentou <owentou@tencent.com>

view details

owentou

commit sha e5d9c92f6a5653c95671a5183f5c5a7031495aa5

Fix format problem for different versions of clang-format Signed-off-by: owentou <owentou@tencent.com>

view details

push time in 6 days

more