openzipkin-attic / zipkin-ui Goto Github PK
View Code? Open in Web Editor NEWExperimental new UI for Zipkin
License: Other
Experimental new UI for Zipkin
License: Other
When hovering a span, we could show a popover/tooltip about the span data.
This will make it more lightweight than the original UI which requires you to open up a dialog for this
I ran the installation commands on npm version 4.1.2
$ npm install --dev
$ npm install typescript -g
$ npm start
Everything looks good when I run the commands. But when I open in a web browser it all goes wrong. See the following error in the console window.
Unhandled Promise rejection: Template parse errors:
"let-" is only supported on template elements. ("<ng-template ngFor [ngForOf]="parts" [ERROR ->]let-part let-isOdd="odd"><span *ngIf="isOdd" class="{{highlightClass}}">{{part}}</span><ng-template ["): NgbHighlight@0:37
"let-" is only supported on template elements. ("<ng-template ngFor [ngForOf]="parts" let-part [ERROR ->]let-isOdd="odd"><span *ngIf="isOdd" class="{{highlightClass}}">{{part}}</span><ng-template [ngIf]="!i"): NgbHighlight@0:46
'ng-template' is not a known element:
1. If 'ng-template' is an Angular component, then verify that it is part of this module.
2. If 'ng-template' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schemas' of this component to suppress this message. ("rOf]="parts" let-part let-isOdd="odd"><span *ngIf="isOdd" class="{{highlightClass}}">{{part}}</span>[ERROR ->]<ng-template [ngIf]="!isOdd">{{part}}</ng-template></ng-template>"): NgbHighlight@0:124
'ng-template' is not a known element:
1. If 'ng-template' is an Angular component, then verify that it is part of this module.
2. If 'ng-template' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schemas' of this component to suppress this message. ("[ERROR ->]<ng-template ngFor [ngForOf]="parts" let-part let-isOdd="odd"><span *ngIf="isOdd" class="{{highlightC"): NgbHighlight@0:0 ; Zone: <root> ; Task: Promise.then ; Value: SyntaxError {__zone_symbol__error: Error: Template parse errors:
"let-" is only supported on template elements. ("<ng-template ngFor [n……} Error: Template parse errors:
"let-" is only supported on template elements. ("<ng-template ngFor [ngForOf]="parts" [ERROR ->]let-part let-isOdd="odd"><span *ngIf="isOdd" class="{{highlightClass}}">{{part}}</span><ng-template ["): NgbHighlight@0:37
"let-" is only supported on template elements. ("<ng-template ngFor [ngForOf]="parts" let-part [ERROR ->]let-isOdd="odd"><span *ngIf="isOdd" class="{{highlightClass}}">{{part}}</span><ng-template [ngIf]="!i"): NgbHighlight@0:46
'ng-template' is not a known element:
1. If 'ng-template' is an Angular component, then verify that it is part of this module.
2. If 'ng-template' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schemas' of this component to suppress this message. ("rOf]="parts" let-part let-isOdd="odd"><span *ngIf="isOdd" class="{{highlightClass}}">{{part}}</span>[ERROR ->]<ng-template [ngIf]="!isOdd">{{part}}</ng-template></ng-template>"): NgbHighlight@0:124
'ng-template' is not a known element:
1. If 'ng-template' is an Angular component, then verify that it is part of this module.
2. If 'ng-template' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schemas' of this component to suppress this message. ("[ERROR ->]<ng-template ngFor [ngForOf]="parts" let-part let-isOdd="odd"><span *ngIf="isOdd" class="{{highlightC"): NgbHighlight@0:0
at SyntaxError.ZoneAwareError (eval at <anonymous> (http://localhost:3000/polyfills.js:4062:1), <anonymous>:992:33)
at SyntaxError.BaseError [as constructor] (eval at <anonymous> (http://localhost:3000/vendor.js:2877:1), <anonymous>:25:16)
at new SyntaxError (eval at <anonymous> (http://localhost:3000/vendor.js:165:1), <anonymous>:162:16)
at TemplateParser.parse (eval at <anonymous> (http://localhost:3000/vendor.js:582:1), <anonymous>:169:19)
at JitCompiler._compileTemplate (eval at <anonymous> (http://localhost:3000/vendor.js:1740:1), <anonymous>:380:68)
at eval (eval at <anonymous> (http://localhost:3000/vendor.js:1740:1), <anonymous>:263:62)
at Set.forEach (native)
at JitCompiler._compileComponents (eval at <anonymous> (http://localhost:3000/vendor.js:1740:1), <anonymous>:263:19)
at createResult (eval at <anonymous> (http://localhost:3000/vendor.js:1740:1), <anonymous>:145:19)
at ZoneDelegate.invoke (eval at <anonymous> (http://localhost:3000/polyfills.js:4062:1), <anonymous>:334:26)
at Zone.run (eval at <anonymous> (http://localhost:3000/polyfills.js:4062:1), <anonymous>:126:43)
at eval (eval at <anonymous> (http://localhost:3000/polyfills.js:4062:1), <anonymous>:713:57)
at ZoneDelegate.invokeTask (eval at <anonymous> (http://localhost:3000/polyfills.js:4062:1), <anonymous>:367:31)
at Zone.runTask (eval at <anonymous> (http://localhost:3000/polyfills.js:4062:1), <anonymous>:166:47)
at drainMicroTaskQueue (eval at <anonymous> (http://localhost:3000/polyfills.js:4062:1), <anonymous>:546:35)
consoleError @ zone.js?fad3:522
handleUnhandledRejection @ zone.js?fad3:527
_loop_1 @ zone.js?fad3:562
drainMicroTaskQueue @ zone.js?fad3:566
zone.js?fad3:524 ZoneAwareError {__zone_symbol__error: Error: Uncaught (in promise): Error: Template parse errors:
"let-" is only supported on template ele……}
consoleError @ zone.js?fad3:524
handleUnhandledRejection @ zone.js?fad3:527
_loop_1 @ zone.js?fad3:562
drainMicroTaskQueue @ zone.js?fad3:566
Currently, there are expander buttons to show more information about each span.
Should this be replaced by allowing the entire row to be clicked to expand?
java -jar zipkin-server-2.3.2-20171127.080232-13-exec.jar
loading http://localhost:9411/zipkin/ gives a blank page
There is currently a Dependency view, which is interesting, but Zipkin has a lot more data for which it could provide visibility.
I'm thinking of an aggregated view of parent-child relationships (including multiplicity) and timings.
There are a few ways you could arrange the data. This is my stab for a hypothetical system with X, Y, and Z:
X --2.5--> Y (8ms) --2.0--> Z (2ms)
\
\--0.5--> Z (6ms)
Each X has 2.5 Y children (8ms each) and 0.5 Z children (6ms each), and each Y child of X has 2.0 Z children (2ms each).
This doesn't show sequences (not sure how to "average" those), just parent-child chains and timings.
would be nice if travis or circleci checked pull requests cc @abesto
Hi
I'm newbie in type script . I'm following the readme.md but it does not generate final js.
I'm calling
$ npm install --dev
$ npm install typescript -g
$ npm run build <!---- fails here
Condition always true [./~/jquery/dist/jquery.js:9778,0]
ERROR in /Users/i303813/Code/paas/__POC__/zipkin-ui/typings/globals/dagre-d3/index.d.ts
(5,44): error TS2305: Module 'Dagre' has no exported member 'DagreFactory'.
ERROR in /Users/i303813/Code/paas/__POC__/zipkin-ui/typings/globals/dagre-d3/index.d.ts
(17,32): error TS2503: Cannot find namespace 'd3'.
ERROR in /Users/i303813/Code/paas/__POC__/zipkin-ui/typings/globals/dagre-d3/index.d.ts
(17,52): error TS2503: Cannot find namespace 'd3'.
ERROR in /Users/i303813/Code/paas/__POC__/zipkin-ui/typings/globals/dagre-d3/index.d.ts
(23,57): error TS2503: Cannot find namespace 'd3'.
ERROR in /Users/i303813/Code/paas/__POC__/zipkin-ui/typings/globals/dagre-d3/index.d.ts
(23,100): error TS2305: Module 'Dagre' has no exported member 'Edge'.
ERROR in /Users/i303813/Code/paas/__POC__/zipkin-ui/typings/globals/dagre-d3/index.d.ts
(25,21): error TS2503: Cannot find namespace 'd3'.
Child html-webpack-plugin for "index.html":
My setup
__POC__/zipkin-ui (master)$npm version
{ 'zipkin-ui': '0.1.0',
npm: '3.10.7',
ares: '1.10.1-DEV',
http_parser: '2.7.0',
icu: '57.1',
modules: '48',
node: '6.6.0',
openssl: '1.0.2h',
uv: '1.9.1',
v8: '5.1.281.83',
zlib: '1.2.8' }
Use test data, zipkin ui will show Traces graph in the page. @adriancole
In production env, zipkin java client(io.zipkin.java:zipkin:1.16.2
) push data to zipkin server. Use the zipkin server data from server api, zipkin ui will not show Traces graph.
The two data has this difference:
annotations
fragment.Why test data has annotations fragment?
Why the data format is not compatible with java client sdk?
manually generated test data:
[
[
{
"traceId": "2e0456da58cc75f9",
"id": "2e0456da58cc75f9",
"name": "get",
"timestamp": 1490150337461000,
"duration": 1429325,
"annotations": [
{
"timestamp": 1490150337461000,
"value": "sr",
"endpoint": {
"serviceName": "brave-webmvc-example",
"ipv4": "192.168.99.1"
}
},
{
"timestamp": 1490150338890325,
"value": "ss",
"endpoint": {
"serviceName": "brave-webmvc-example",
"ipv4": "192.168.99.1"
}
}
],
"binaryAnnotations": [
{
"key": "http.status_code",
"value": "200",
"endpoint": {
"serviceName": "brave-webmvc-example",
"ipv4": "192.168.99.1"
}
},
{
"key": "http.url",
"value": "/a",
"endpoint": {
"serviceName": "brave-webmvc-example",
"ipv4": "192.168.99.1"
}
}
]
},
{
"traceId": "2e0456da58cc75f9",
"id": "4b722eee46e4746a",
"name": "get",
"parentId": "2e0456da58cc75f9",
"timestamp": 1490150338031000,
"duration": 845960,
"annotations": [
{
"timestamp": 1490150338031000,
"value": "cs",
"endpoint": {
"serviceName": "brave-webmvc-example",
"ipv4": "192.168.99.1"
}
},
{
"timestamp": 1490150338034000,
"value": "sr",
"endpoint": {
"serviceName": "brave-webmvc-example",
"ipv4": "192.168.99.1"
}
},
{
"timestamp": 1490150338876000,
"value": "ss",
"endpoint": {
"serviceName": "brave-webmvc-example",
"ipv4": "192.168.99.1"
}
},
{
"timestamp": 1490150338876960,
"value": "cr",
"endpoint": {
"serviceName": "brave-webmvc-example",
"ipv4": "192.168.99.1"
}
}
],
"binaryAnnotations": [
{
"key": "http.status_code",
"value": "200",
"endpoint": {
"serviceName": "brave-webmvc-example",
"ipv4": "192.168.99.1"
}
},
{
"key": "http.url",
"value": "http://localhost:8081/b",
"endpoint": {
"serviceName": "brave-webmvc-example",
"ipv4": "192.168.99.1"
}
},
{
"key": "http.url",
"value": "/b",
"endpoint": {
"serviceName": "brave-webmvc-example",
"ipv4": "192.168.99.1"
}
}
]
}
]
]
zipkin java client generated in production , version is io.zipkin.java:zipkin:1.16.2
[
[
{
"traceId": "6af75a41cbc8fa6b",
"id": "6af75a41cbc8fa6b",
"name": "rxjava",
"timestamp": 1490197838019000,
"duration": 300,
"binaryAnnotations": [
{
"key": "lc",
"value": "rxjava",
"endpoint": {
"serviceName": "spring-cloud-zuul",
"ipv4": "10.239.81.10",
"port": 8080
}
},
{
"key": "thread",
"value": "RxIoScheduler-2",
"endpoint": {
"serviceName": "spring-cloud-zuul",
"ipv4": "10.239.81.10",
"port": 8080
}
}
]
}
],
[
{
"traceId": "142fae58c051ca37",
"id": "142fae58c051ca37",
"name": "rxjava",
"timestamp": 1490197837975000,
"duration": 260,
"binaryAnnotations": [
{
"key": "lc",
"value": "rxjava",
"endpoint": {
"serviceName": "spring-cloud-zuul",
"ipv4": "10.239.35.9",
"port": 8080
}
},
{
"key": "thread",
"value": "RxIoScheduler-2",
"endpoint": {
"serviceName": "spring-cloud-zuul",
"ipv4": "10.239.35.9",
"port": 8080
}
}
]
}
],
[
{
"traceId": "bde840912978c224",
"id": "bde840912978c224",
"name": "rxjava",
"timestamp": 1490197837519000,
"duration": 234,
"binaryAnnotations": [
{
"key": "lc",
"value": "rxjava",
"endpoint": {
"serviceName": "spring-cloud-zuul",
"ipv4": "10.239.81.10",
"port": 8080
}
},
{
"key": "thread",
"value": "RxIoScheduler-2",
"endpoint": {
"serviceName": "spring-cloud-zuul",
"ipv4": "10.239.81.10",
"port": 8080
}
}
]
}
],
[
{
"traceId": "ae8498806dfe58da",
"id": "ae8498806dfe58da",
"name": "rxjava",
"timestamp": 1490197837476000,
"duration": 307,
"binaryAnnotations": [
{
"key": "lc",
"value": "rxjava",
"endpoint": {
"serviceName": "spring-cloud-zuul",
"ipv4": "10.239.35.9",
"port": 8080
}
},
{
"key": "thread",
"value": "RxIoScheduler-2",
"endpoint": {
"serviceName": "spring-cloud-zuul",
"ipv4": "10.239.35.9",
"port": 8080
}
}
]
}
],
[
{
"traceId": "07e4141638a6e28e",
"id": "07e4141638a6e28e",
"name": "rxjava",
"timestamp": 1490197837019000,
"duration": 260,
"binaryAnnotations": [
{
"key": "lc",
"value": "rxjava",
"endpoint": {
"serviceName": "spring-cloud-zuul",
"ipv4": "10.239.81.10",
"port": 8080
}
},
{
"key": "thread",
"value": "RxIoScheduler-2",
"endpoint": {
"serviceName": "spring-cloud-zuul",
"ipv4": "10.239.81.10",
"port": 8080
}
}
]
}
],
[
{
"traceId": "2e6814b541e8231d",
"id": "2e6814b541e8231d",
"name": "rxjava",
"timestamp": 1490197836975000,
"duration": 301,
"binaryAnnotations": [
{
"key": "lc",
"value": "rxjava",
"endpoint": {
"serviceName": "spring-cloud-zuul",
"ipv4": "10.239.35.9",
"port": 8080
}
},
{
"key": "thread",
"value": "RxIoScheduler-2",
"endpoint": {
"serviceName": "spring-cloud-zuul",
"ipv4": "10.239.35.9",
"port": 8080
}
}
]
}
],
[
{
"traceId": "0139afc6b257a8b9",
"id": "0139afc6b257a8b9",
"name": "rxjava",
"timestamp": 1490197836520000,
"duration": 347,
"binaryAnnotations": [
{
"key": "lc",
"value": "rxjava",
"endpoint": {
"serviceName": "spring-cloud-zuul",
"ipv4": "10.239.81.10",
"port": 8080
}
},
{
"key": "thread",
"value": "RxIoScheduler-2",
"endpoint": {
"serviceName": "spring-cloud-zuul",
"ipv4": "10.239.81.10",
"port": 8080
}
}
]
}
],
[
{
"traceId": "c721154db6cc9862",
"id": "c721154db6cc9862",
"name": "rxjava",
"timestamp": 1490197836475000,
"duration": 285,
"binaryAnnotations": [
{
"key": "lc",
"value": "rxjava",
"endpoint": {
"serviceName": "spring-cloud-zuul",
"ipv4": "10.239.35.9",
"port": 8080
}
},
{
"key": "thread",
"value": "RxIoScheduler-2",
"endpoint": {
"serviceName": "spring-cloud-zuul",
"ipv4": "10.239.35.9",
"port": 8080
}
}
]
}
],
[
{
"traceId": "84ca6a570036d469",
"id": "84ca6a570036d469",
"name": "rxjava",
"timestamp": 1490197836019000,
"duration": 291,
"binaryAnnotations": [
{
"key": "lc",
"value": "rxjava",
"endpoint": {
"serviceName": "spring-cloud-zuul",
"ipv4": "10.239.81.10",
"port": 8080
}
},
{
"key": "thread",
"value": "RxIoScheduler-2",
"endpoint": {
"serviceName": "spring-cloud-zuul",
"ipv4": "10.239.81.10",
"port": 8080
}
}
]
}
],
[
{
"traceId": "02a7b30a458f5ac0",
"id": "02a7b30a458f5ac0",
"name": "rxjava",
"timestamp": 1490197835976000,
"duration": 275,
"binaryAnnotations": [
{
"key": "lc",
"value": "rxjava",
"endpoint": {
"serviceName": "spring-cloud-zuul",
"ipv4": "10.239.35.9",
"port": 8080
}
},
{
"key": "thread",
"value": "RxIoScheduler-2",
"endpoint": {
"serviceName": "spring-cloud-zuul",
"ipv4": "10.239.35.9",
"port": 8080
}
}
]
}
]
]
Right now, we render annotations that hold json as string literals.
Ex. if I do this in finagle
Trace.record("{\"event\": \"soft error\", \"type\": \"cache timeout\", \"waited.millis\": 1500}");
Or if I use opentracing's logKV api, this renders like so..
Presumably, we could do better, but I'm not sure how. Any ideas?
In the original UI, services can be expanded/collapsed, this should be added here too.
This would be super useful!
From @rogeralsing on September 8, 2016 20:5
If you collect a root span with no annotations on (which is ofcourse incorrect) the UI breaks with a null reference exception at the find trace screen, and thus making it impossible to find any trace at all.
This is ofc an edgecase that souldnt occur, but if someone sends corrupt data to Zipkin, it would be nice if things continue to work as expected.
Copied from original issue: openzipkin/zipkin#1278
Hi.
Zipkin UI starts with error
error_handler.js?934c:54 EXCEPTION: Cannot read property 'timestamp' of undefined ErrorHandler.handleError @ error_handler.js?934c:54 error_handler.js?934c:59 ORIGINAL STACKTRACE: ErrorHandler.handleError @ error_handler.js?934c:59 error_handler.js?934c:60 TypeError: Cannot read property 'timestamp' of undefined at eval (webpack-internal:///165:117:70) at Array.sort (native) at Array.sort (webpack-internal:///875:21:15) at Trace.sortTrace (webpack-internal:///165:117:23) at eval (webpack-internal:///165:120:23) at Array.forEach (<anonymous>) at Trace.sortTrace (webpack-internal:///165:119:27) at eval (webpack-internal:///165:120:23) at Array.forEach (<anonymous>) at Trace.sortTrace (webpack-internal:///165:119:27) at Trace.getSortedSpans (webpack-internal:///165:80:14) at new Trace (webpack-internal:///165:55:32) at eval (webpack-internal:///165:157:65) at Array.map (<anonymous>)
If i understand correctly expected structure of traces (response of api/v1/traces
) is ..{"traceId": "trace", ..., "**annotations**"} ..
- annotations is mandatory.
But in my case trace looks like [ [ { "traceId": "fca49abacae88255", "id": "fca49abacae88255", "name": "", "timestamp": 1509704101447000, "duration": 55875, "annotations": [ { "timestamp": 1509704101502875, "value": "ss", "endpoint": { "serviceName": "", "ipv4": "", "port": 8080 } } ] }, { "traceId": "fca49abacae88255", "id": "8382a3fc6365f507", "name": "", "parentId": "fca49abacae88255", "timestamp": 1509704101455000, "duration": 22310, "binaryAnnotations": [ { "key": "OUTPUT_MESSAGE", "value": "", "endpoint": { "serviceName": "", "ipv4": "", "port": 8080 } }, { "key": "lc", "value": "unknown", "endpoint": { "serviceName": "", "ipv4": "", "port": 8080 } } ] } ] ]
"Traditional" ui works fine with that trace
zipkin-ui build error with git version 7924f67bac
when I git clone the master code, I do below:
in the second step, console show errors with compile.
➜ zipkin-ui git:(master) npm run build
> [email protected] build /Users/cuizheng/Documents/Code/charlescui.git/zipkin-ui
> gulp build
[20:11:34] Using gulpfile ~/Documents/Code/charlescui.git/zipkin-ui/gulpfile.js
[20:11:34] Starting 'build'...
/Users/cuizheng/Documents/Code/charlescui.git/zipkin-ui/node_modules/extract-text-webpack-plugin/index.js:184
throw new Error("Breaking change: extract now only takes a single argument. Either an options " +
^
Error: Breaking change: extract now only takes a single argument. Either an options object *or* the loader(s).
Example: if your old code looked like this:
ExtractTextPlugin.extract('style-loader', 'css-loader')
You would change it to:
ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader' })
The available options are:
use: string | object | loader[]
fallback: string | object | loader[]
publicPath: string
at Function.ExtractTextPlugin.extract (/Users/cuizheng/Documents/Code/charlescui.git/zipkin-ui/node_modules/extract-text-webpack-plugin/index.js:184:9)
at Object.<anonymous> (/Users/cuizheng/Documents/Code/charlescui.git/zipkin-ui/config/webpack.common.js:34:43)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/Users/cuizheng/Documents/Code/charlescui.git/zipkin-ui/config/webpack.prod.js:4:20)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
[20:11:35] 'build' errored after 750 ms
[20:11:35] Error in plugin 'gulp-shell'
Message:
Command `webpack --config config/webpack.prod.js --progress --colors --profile --bail` failed with exit code 1
npm ERR! Darwin 16.3.0
npm ERR! argv "/Users/cuizheng/Documents/Code/nvm/versions/node/v7.2.0/bin/node" "/Users/cuizheng/Documents/Code/nvm/versions/node/v7.2.0/bin/npm" "run" "build"
npm ERR! node v7.2.0
npm ERR! npm v3.10.9
npm ERR! code ELIFECYCLE
npm ERR! [email protected] build: `gulp build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script 'gulp build'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the zipkin-ui package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! gulp build
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs zipkin-ui
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls zipkin-ui
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /Users/cuizheng/Documents/Code/charlescui.git/zipkin-ui/npm-debug.log
I fixed the error and go on build, come on with other error.
So I fixed all errors with current version code, and modify the below file.
[main] aaa2b99e8246abe975e6f47a9e8814ffef6db101 - commit 1 of 110 10%
commit aaa2b99e8246abe975e6f47a9e8814ffef6db101
Refs: [master], {origin/master}, {origin/HEAD}, 0.0.1-4-gaaa2b99
Author: 崔峥
AuthorDate: Wed Mar 22 20:30:14 2017 +0800
Commit: 崔峥
CommitDate: Wed Mar 22 20:30:14 2017 +0800
fix 'npm run build' error
---
config/webpack.common.js | 16 +++++++++++-----
config/webpack.prod.js | 15 ++++++++++-----
package.json | 7 +++++--
then compile success in the folder target/classes/zipkin-ui/
This is awesome, thanks for the work! I used this to visualize some of our internal data and noticed that the span display isn't so helpful when server spans are missing. Specifically, they display like this:
It would be nice if the horizontal position was preserved when only client spans were present. Maybe the whole span could be a gray bar, just correctly positioned horizontally?
I am tagging all my logs with the SpanId and TraceId when I have these information: it is really convenient to be able to have an aggregated view of the logs of a given Trace.
It would be fab to be able to have access to them (or a link) somehow in Zipkin's UI.
I'd like to make a docker image from the contents of this repo as opposed to running npm openzipkin-attic/docker-zipkin-ui#1
This will make it easier for others to test this code. What's the best path forward?
From @mansu on October 18, 2016 20:57
Currently, when we look at a span belonging to a trace in the UI, one has to mentally calculate the network latency to identify what percentage of the latency came from processing and what percentage of latency came from request processing.
So, if a span has cs, cr, ss and sr, the network latency would be (sr - cs) + (ss - cr). Bonus points if the network latency can be shown like the chrome network latency tab. Adding an image from chrome documentation for reference.
Copied from original issue: openzipkin/zipkin#1345
Looks like the jar produced by the build ends up with 3.7MiB of contents.
@cburroughs recently helped reduce the existing UI quite a bit.. maybe something similar can be done here openzipkin/zipkin#1436
The Timeline markers currently lack information about what time they represent.
This needs to be calculated in the home component and rendered in the home view.
traceToMustache.js:34 Uncaught RangeError: Maximum call stack size exceededcreateSpanTreeEntry @ traceToMustache.js:34(anonymous function) @ traceToMustache.js:37map @ (program):870createSpanTreeEntry @ traceToMustache.js:37(anonymous function) @ traceToMustache.js:37map @ (program):870createSpanTreeEntry @ traceToMustache.js:37(anonymous function) @ traceToMustache.js:37map @ (program):870createSpanTreeEntry @ traceToMustache.js:37
java -jar zipkin-server-2.3.2-20171127.080232-13-exec.jar
when accessing http://localhost:9411/zipkin/ this error pops up in the debugger:
from @dragontree101
my zipkin-server is 1.16 and change zipkin-ui in 0.0.1
i use new zipkin-ui, but has error, i need change some ui-config?
i use config is
environment=
KAFKA_ZOOKEEPER="10.215.242.11,10.215.242.12,10.215.242.13:2181/kafka-offline",
STORAGE_TYPE="elasticsearch",
SELF_TRACING_ENABLED="true",
ES_CLUSTER="prod",
ES_HOSTS="http://10.215.242.15:9200",
ES_PIPELINE="zipkin",
KAFKA_STREAMS="4",
QUERY_PORT="8080"
i think to change localhost to zipkin-server's ip? i am not deploy zipkin-server in my local.
current master is broke on circleci
https://circleci.com/gh/openzipkin/zipkin-ui/57
This may or may not be related to a concern raised on gitter by @charlescui
I git clone zipkin-ui from github, but the master branch is not a stable source code. I npm run build meet many error, such as package.json didn't contain moment package , webpack version is not locked and error with webpack.common.js options. Is there a stable version?
when building from scratch, you edit the zipkin-server/pom.xml like so.. there's probably value in showing how to do this just using a commandline and an existing zipkin jar. (which would be overriding the classpath I think)
<!-- Static content for the web UI -->
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>zipkin-autoconfigure-ui</artifactId>
<optional>true</optional>
<exclusions>
<exclusion>
<groupId>${project.groupId}</groupId>
<artifactId>zipkin-ui</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.zipkin.ui</groupId>
<artifactId>zipkin-ui</artifactId>
<version>0.0.1</version>
</dependency>
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.