Skip to content
This repository was archived by the owner on Aug 2, 2022. It is now read-only.

Telemetry - add cppkin support - #9358

Merged
heifner merged 30 commits into
develop-boxedfrom
telemtry
Aug 17, 2020
Merged

heifner merged 30 commits into
develop-boxedfrom
telemtry

Conversation

@heifner

@heifner heifner commented Aug 4, 2020

Copy link
Copy Markdown
Contributor

Change Description

  • Add support for https://github.com/EOSIO/cppKin via new cppkin_plugin
  • EOSIO/cppkin support both Zipkin and New Relic
  • Enabled by new CMake option: ENABLE_CPPKIN
    -- Needs EOSIO/cppkin installed to build

Adds cppkin logging for http/amqp transactions, block production, SHiP block receive/send, rodoes block receive/processed.

Trace entries added:

  • amqp_trx_plugin
    -- Trace: "Transaction", Span: "AMQP Received", Tag: "trx_id" [received an input transaction from AMQP "trx" queue]
    -- Trace: "Transaction", Span: "Processed", Tag: "trx_id" [executed transaction and placed in pending block]
    ---- Includes: Tags: "block_num", "block_time", "elapsed" and either "status" or "error"

  • chain_plugin
    -- Trace: "Transaction", Span: "HTTP Received", Tag: "trx_id" [received an input transaction from http push_transaction]
    -- Trace: "Transaction", Span: "Processed", Tag: "trx_id" [executed transaction and placed in pending block]
    ---- Includes: Tags: "block_num", "block_time", "elapsed" and either "status" or "error"
    -- Trace: "Transaction", Span: "HTTP Received", Tag: "trx_id" [received an input transaction from http send_transaction]
    -- Trace: "Transaction", Span: "Processed", Tag: "trx_id" [executed transaction and placed in pending block]
    ---- Includes: Tags: "block_num", "block_time", "elapsed" and either "status" or "error"

  • net_plugin
    -- Trace: "Block", Span: "Accepted", Tags: "block_id", "block_num", "block_time"
    -- Trace: "Block", Span: "PreAccepted", Tags: "block_id", "block_num", "block_time", "producer" [Logged when trusted producer allows for sending of block before processing]

  • state_history_plugin
    -- Trace: "Block", Span: "SHiP-Accepted", Tags: "block_id", "block_num", "block_time"
    -- Trace: "Block", Span: "SHiP-Send", Tags: "block_id", "block_num", "block_time"

  • rodeos
    -- Trace: "Block", Span: "rodeos-received", Tags: "block_id", "block_num", "block_time"
    -- Trace: "Block", Span: "Filter-Start", Tags: "block_num"
    -- Trace: "Block", Span: "Filter-Stop", Tags: "block_num"

Change Type

Select ONE

  • Documentation
  • Stability bug fix
  • Other
  • Other - special case

Consensus Changes

  • Consensus Changes

API Changes

  • API Changes

Documentation Additions

  • Documentation Additions

  • New plugin cppkin_plugin for both nodeos and rodeos

    Config Options for eosio::cppkin_plugin:
    --cppkin-endpoint arg cppkin connection endpoint (required)
    --cppkin-service-name arg cppkin service name
    --cppkin-api-key arg cppkin API Key
    --cppkin-sample-count arg (=1) cppkin sample count

@heifner

heifner commented Aug 5, 2020

Copy link
Copy Markdown
Contributor Author

Example Zipkin
Submitted:
image

Processed:
image

AMQP Submitted:
image

AMQP Processed:
image

Block Accepted:
image

SHiP Accepted:
image

@gleehokie

Copy link
Copy Markdown
Contributor

The name “cppkin”, while obviously a play on Zipkin, is not descriptive of what this module does. Would a better name be “telemetry” or something like that?

@heifner

heifner commented Aug 13, 2020

Copy link
Copy Markdown
Contributor Author

The name “cppkin”, while obviously a play on Zipkin, is not descriptive of what this module does. Would a better name be “telemetry” or something like that?

Happy to name it whatever you like. Any suggestions? telemetry_plugin ? It is named cppkin_plugin because it uses the EOSIO/cppkin library for sending info to Zipkin & New Relic.

Comment thread libraries/fc/include/fc/log/trace.hpp Outdated
Comment thread libraries/fc/include/fc/log/trace.hpp Outdated
Comment thread programs/nodeos/main.cpp Outdated
Comment thread plugins/state_history_plugin/state_history_plugin.cpp
Comment thread libraries/fc/include/fc/log/trace.hpp Outdated
Comment thread plugins/cppkin_plugin/cppkin_plugin.cpp
Comment thread libraries/fc/include/fc/log/trace.hpp Outdated
@heifner

heifner commented Aug 14, 2020

Copy link
Copy Markdown
Contributor Author

@gleehokie these changes are particular to EOSIO/cppkin; the cppkin_plugin is specific to EOSIO/cppkin. As such I don't think it makes sense to name it telemetry_plugin. We could potentially have other telemetry support added in the future. As this is now it is not a general telemetry solution.

I plan on merging this PR now. If you feel strongly about renaming, I will happily do that in a follow-on PR.

@heifner
heifner merged commit 284529f into develop-boxed Aug 17, 2020
@heifner
heifner deleted the telemtry branch August 17, 2020 11:32
@heifner heifner mentioned this pull request Oct 20, 2020
7 tasks
This was referenced Nov 3, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants