Progress OpenEdge Profiler data parsing to OpenTracing format

openedge-profiler-parser

Progress OpenEdge Profiler data parsing to OpenTracing format.

Prerequisites

In order to RUN you will be enough with

Docker: https://www.docker.com/products/docker-desktop Zipkin: https://hub.docker.com/r/openzipkin/zipkin

To start zipkin docker image just run this command while having docker deamon active:

docker run -d -p 9411:9411 openzipkin/zipkin

NOTE: if you are going to change port, update information in code accordingly. At the moment there's no single place/properties file for setup of constants.

Run on Jaeger

Jaeger docker image automatically exposes Zipkin compatible REST API, so all you need to do is start docker image using this command:

docker run -d -e COLLECTOR_ZIPKIN_HOST_PORT=:9411 -p 16686:16686 -p 9411:9411 jaegertracing/all-in-one

Run on Grafana

To run on Grafana, you will need to create docker-compose.yml file with services for Zipkin and Grafana (example in docker-compose-sample.yml). Then run:

docker-compose up -d

After this, you have to add Zipkin data source in Grafana with URL zipkin:9411.

In order to DEVELOP you will need

Some kind of modern IDE that supports GO (we are using VS Code: https://code.visualstudio.com/download)

Golang engine: https://golang.org/dl/

Usage of binary (compiled) utility

To run binary file on Unix systems use these commands:

chmod +x profiler-opentracing
profiler-opentracing /path/to/profiler/output/file -config=./config.yaml

To run binary file on Windows systems run this command:

profiler-opentracing.exe \path\to\profiler\output\file -config=./config.yamll

-config Flag passes given configuration. If this flag is not provided then default values will be used.

Usage for project developers

NOTE: unix-windows slashes should be directed different ways. Keep this in mind based on your system To run parser run:

cd progress-opentracing-profiler
go run .\cmd\parse.go .\profilerFiles\simple_oop.prof .\config\config.yaml

To run tests:

cd progress-opentracing-profiler
go test ./tests/...

Or if you want to test specific module, then (-v flag is not mandatory, but it gives the details of the tests):

cd progress-opentracing-profiler
go test -v ./tests/<module_name>

Run linter:

golangci-lint run

Custom configuration

As for now custom configuration can be provided in one of 2 ways:

  • Setting environment variables
  • Providing config.yaml file in the root directory of the repository or alongside binary file. (config-sample.yaml provided in repository)

Supported configuration values:

All configuration values are under zipkin tag.

Name Default value Description
url http://localhost:9411 Default URL of Zipkin container with port 9411. If Zipkin configuration has been changed, the configuration values have to be changed too.
endpoint /api/v2/spans Endpoint of Zipkin span collector. It should NOT be changed.
hostPort localhost:80 It's used for Zipkin tag, in this case, it shows the address and port of traced application's endpoint. It can and should be changed.
serviceName TestService2 It's used for naming the trace, can and should be changed.
Similar Resources

💧 Visual Data Preparation (VDP) is an open-source tool to seamlessly integrate Vision AI with the modern data stack

💧 Visual Data Preparation (VDP) is an open-source tool to seamlessly integrate Vision AI with the modern data stack

Website | Community | Blog Get Early Access Visual Data Preparation (VDP) is an open-source tool to streamline the end-to-end visual data processing p

Jan 5, 2023

Kubesecret is a command-line tool that prints secrets and configmaps data of a kubernetes cluster.

Kubesecret Kubesecret is a command-line tool that prints secrets and configmaps data of a kubernetes cluster. kubesecret -h for help pages. Install go

May 3, 2022

Terraform utility provider for constructing bash scripts that use data from a Terraform module

Terraform Bash Provider This is a Terraform utility provider which aims to robustly generate Bash scripts which refer to data that originated in Terra

Sep 6, 2022

Collect data about your dependencies

Collect data about your dependencies Features and Data Sources: Go modules, runs tests, detects tests and benchmarks Flexible rendering with Graphviz,

Dec 20, 2022

A tool to dump and restore Prometheus data blocks.

A tool to dump and restore Prometheus data blocks.

promdump promdump dumps the head and persistent blocks of Prometheus. It supports filtering the persistent blocks by time range. Why This Tool When de

Dec 16, 2022

AWS Data Transfer Cost Explorer

AWS Data Transfer Cost Explorer

The AWS Data Transfer Cost Explorer The AWS Data Transfer Cost Explorer tool analyzes the billed Data Transfer items in your AWS account and presents

Jul 18, 2022

Snowflake grafana datasource plugin allows Snowflake data to be visually represented in Grafana dashboards.

Snowflake grafana datasource plugin allows Snowflake data to be visually represented in Grafana dashboards.

Snowflake Grafana Data Source With the Snowflake plugin, you can visualize your Snowflake data in Grafana and build awesome chart. Get started with th

Dec 29, 2022

A kubectl plugin for finding decoded secret data with productive search flags.

kubectl-secret-data What is it? This is a kubectl plugin for finding decoded secret data. Since kubectl only outputs base64-encoded secrets, it makes

Dec 2, 2022

Graph and alert on '.rrd' data using grafana, RRDTool and RRDSrv.

Grafana RRD Datasource A grafana datasource for reading '.rrd' files via RRDTool and RRDsrv. With this datasource you will be able to create grafana d

Oct 12, 2022
Comments
  • Linux profile returns nothing to report

    Linux profile returns nothing to report

    I managed to process a windows profile, but I'm having an issue with a profile recorded on linux using oe12.2

    Reading profiler file: /appltmp/SmartLisaNightly/profile/ccetools_dumpds-b.p_1610_26533/out.prof
    Start transforming data
    ------------------------------------------
    Start 1: calculating call tree
    Start 2: sending data to zipkin
    WARNING: Nothing to report to Zipkin
    Parsing took:  12.4µs
    ------------------------------------------
    
Test - A program that validates your progress on the SQLite challenge

SQLite Challenge Tester This is a program that validates your progress on the SQ

Jan 6, 2022
A simple tool who pulls data from Online.net API and parse them to a Prometheus format

Dedibox backup monitoring A simple tool who reads API from Online.net and parse them into a Prometheus-compatible format. Conceived to be lightweight,

Aug 16, 2022
Go(lang) Environment Variable Parsing / Unmarshaler / Decoder

Go(lang) Environment Variable Parsing / Unmarshaler / Decoder

Aug 8, 2022
signature-based file format identification
signature-based file format identification

Siegfried Siegfried is a signature-based file format identification tool, implementing: the National Archives UK's PRONOM file format signatures freed

Dec 15, 2022
Schmeckt wie Damals - Old recipes in new Format
Schmeckt wie Damals - Old recipes in new Format

Schmeckt wie Damals Historisches digitales Kochbuch, alte Rezepte in neuem Format Explore the docs » View Demo · Report Bug · Request Feature Inhaltsv

Sep 22, 2021
A simple webdev utility program that allows developers to quickly validate and format JSON code

Toolbox CLI A simple webdev utility program that allows developers to quickly validate and format JSON code, convert from UNIX epoch to timestamp and

Jan 4, 2022
A golang tool to list out all EKS clusters with active nodegroups in all regions in json format

eks-tool A quick and dirty tool to list out all EKS clusters with active nodegro

Dec 18, 2021
HBase Exporter,fetch data from jmx for region-level data.

HBase Exporter Prometheus exporter for HBase which fetch data from hbase jmx, written in Go. You can even see region-level metrics. Installation and U

Nov 4, 2022
Kstone is an etcd management platform, providing cluster management, monitoring, backup, inspection, data migration, visual viewing of etcd data, and intelligent diagnosis.
Kstone is an etcd management platform, providing cluster management, monitoring, backup, inspection, data migration, visual viewing of etcd data, and intelligent diagnosis.

Kstone 中文 Kstone is an etcd management platform, providing cluster management, monitoring, backup, inspection, data migration, visual viewing of etcd

Dec 27, 2022
Conduit - Data Integration for Production Data Stores
Conduit - Data Integration for Production Data Stores

Conduit Data Integration for Production Data Stores. ?? Overview Conduit is a da

Jan 3, 2023