Last active
August 23, 2018 21:24
-
-
Save chiradeep/f5d6c7dea2bc3e682e63c43eec281305 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"$schema": "https://vega.github.io/schema/vega/v4.json", | |
"width": 720, | |
"height": 720, | |
"padding": 5, | |
"autosize": "none", | |
"signals": [ | |
{ | |
"name": "labels", "value": true, | |
"bind": {"input": "checkbox"} | |
}, | |
{ | |
"name": "radius", "value": 280, | |
"bind": {"input": "range", "min": 20, "max": 600} | |
}, | |
{ | |
"name": "extent", "value": 360, | |
"bind": {"input": "range", "min": 0, "max": 360, "step": 1} | |
}, | |
{ | |
"name": "rotate", "value": 0, | |
"bind": {"input": "range", "min": 0, "max": 360, "step": 1} | |
}, | |
{ | |
"name": "layout", "value": "tidy", | |
"bind": {"input": "radio", "options": ["tidy", "cluster"]} | |
}, | |
{ | |
"name": "links", "value": "line", | |
"bind": { | |
"input": "select", | |
"options": ["line", "curve", "diagonal", "orthogonal"] | |
} | |
}, | |
{ "name": "originX", "update": "width / 2" }, | |
{ "name": "originY", "update": "height / 2" } | |
], | |
"data": [ | |
{ | |
"name": "tree", | |
"values": { | |
"name": "SLO", | |
"children": [ | |
{ | |
"name": "Troubleshooting", | |
"children": [ | |
{ | |
"name": "Custom Dashboards", | |
"children": [ | |
{ | |
"name": "Query-driven", | |
"children": [ | |
{ | |
"name": "Joins with other data" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"name": "Data In Context", | |
"children": [ | |
{ | |
"name": "Joins with other data", | |
"children": [ | |
{ | |
"name": "SIEM" | |
} | |
] | |
}, | |
{ | |
"name": "Indigenous Data Sources", | |
"children": [ | |
{ | |
"name": "L3-L4 Telemetry" | |
}, | |
{ | |
"name": "App. Perf. Monitoring" | |
}, | |
{ | |
"name": "Version Control Systems" | |
}, | |
{ | |
"name": "Continuous Delivery Pipeline" | |
}, | |
{ | |
"name": "Security Scans" | |
}, | |
{ | |
"name": "SIEM" | |
}, | |
{ | |
"name": "Labels&Tags", | |
"children": [ | |
{ | |
"name": "K8s labels" | |
}, | |
{ | |
"name": "AWS VM Tags" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"name": "Exogenous Data Sources", | |
"children": [ | |
{ | |
"name": "Cloud Provider Status" | |
}, | |
{ | |
"name": "ISP Status" | |
}, | |
{ | |
"name": "DNS" | |
} | |
] | |
}, | |
{ | |
"name": "Search", | |
"children": [ | |
{ | |
"name": "Google-Like", | |
"children": [ | |
{ | |
"name": "Auto-complete" | |
} | |
] | |
}, | |
{ | |
"name": "Faceted" | |
} | |
] | |
}, | |
{ | |
"name": "Drill down", | |
"children": [ | |
{ | |
"name": "Query-driven", | |
"children": [ | |
{ | |
"name": "SQL-like queries" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"name": "Slice & Dice", | |
"children": [ | |
{ | |
"name": "In-memory analytics" | |
} | |
] | |
}, | |
{ | |
"name": "A/B compare", | |
"children": [ | |
{ | |
"name": "Compare with baseline" | |
}, | |
{ | |
"name": "Compare with similar service" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"name": "Machine-Aided", | |
"children": [ | |
{ | |
"name": "Recommendation Engine" | |
}, | |
{ | |
"name": "Anomaly UX" | |
} | |
] | |
}, | |
{ | |
"name": "Collaboration", | |
"children": [ | |
{ | |
"name": "Ticketing Integration", | |
"children":[ | |
{ | |
"name": "Service Now" | |
}, | |
{ | |
"name": "Jira" | |
} | |
] | |
}, | |
{ | |
"name": "Alert Channels", | |
"children":[ | |
{ | |
"name": "Slack" | |
}, | |
{ | |
"name": "PagerDuty" | |
} | |
] | |
}, | |
{ | |
"name": "Sharing", | |
"children":[ | |
{ | |
"name": "Shareable Dashboards" | |
}, | |
{ | |
"name": "Share dashboards via email or chat", | |
"children":[ | |
{ | |
"name": "Embed visuals in email or chat" | |
}, | |
{ | |
"name": "Deep linking" | |
} | |
] | |
}, | |
{ | |
"name": "Share drilldowns and search results via email or chat" | |
} | |
] | |
}, | |
{ | |
"name": "Embed in 3rd Party Dashboards", | |
"children":[ | |
{ | |
"name": "Embed in Datadog" | |
}, | |
{ | |
"name": "JS snippets" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"name": "Alerting" | |
}, | |
{ | |
"name": "High Availability" | |
}, | |
{ | |
"name": "Policy" | |
} | |
] | |
}, | |
"transform": [ | |
{ | |
"type": "tree", | |
"method": {"signal": "layout"}, | |
"size": [1, {"signal": "radius"}], | |
"as": ["alpha", "radius", "depth", "children"] | |
}, | |
{ | |
"type": "formula", | |
"expr": "(rotate + extent * datum.alpha + 270) % 360", | |
"as": "angle" | |
}, | |
{ | |
"type": "formula", | |
"expr": "PI * datum.angle / 180", | |
"as": "radians" | |
}, | |
{ | |
"type": "formula", | |
"expr": "inrange(datum.angle, [90, 270])", | |
"as": "leftside" | |
}, | |
{ | |
"type": "formula", | |
"expr": "originX + datum.radius * cos(datum.radians)", | |
"as": "x" | |
}, | |
{ | |
"type": "formula", | |
"expr": "originY + datum.radius * sin(datum.radians)", | |
"as": "y" | |
} | |
] | |
}, | |
{ | |
"name": "links", | |
"source": "tree", | |
"transform": [ | |
{ "type": "treelinks" }, | |
{ | |
"type": "linkpath", | |
"shape": {"signal": "links"}, "orient": "radial", | |
"sourceX": "source.radians", "sourceY": "source.radius", | |
"targetX": "target.radians", "targetY": "target.radius" | |
} | |
] | |
} | |
], | |
"scales": [ | |
{ | |
"name": "color", | |
"type": "sequential", | |
"range": {"scheme": "magma"}, | |
"domain": {"data": "tree", "field": "depth"}, | |
"zero": true | |
} | |
], | |
"marks": [ | |
{ | |
"type": "path", | |
"from": {"data": "links"}, | |
"encode": { | |
"update": { | |
"x": {"signal": "originX"}, | |
"y": {"signal": "originY"}, | |
"path": {"field": "path"}, | |
"stroke": {"value": "#ccc"} | |
} | |
} | |
}, | |
{ | |
"type": "symbol", | |
"from": {"data": "tree"}, | |
"encode": { | |
"enter": { | |
"size": {"value": 100}, | |
"stroke": {"value": "#fff"} | |
}, | |
"update": { | |
"x": {"field": "x"}, | |
"y": {"field": "y"}, | |
"fill": {"scale": "color", "field": "depth"} | |
} | |
} | |
}, | |
{ | |
"type": "text", | |
"from": {"data": "tree"}, | |
"encode": { | |
"enter": { | |
"text": {"field": "name"}, | |
"fontSize": {"value": 9}, | |
"baseline": {"value": "middle"} | |
}, | |
"update": { | |
"x": {"field": "x"}, | |
"y": {"field": "y"}, | |
"dx": {"signal": "(datum.leftside ? -1 : 1) * 6"}, | |
"angle": {"signal": "datum.leftside ? datum.angle - 180 : datum.angle"}, | |
"align": {"signal": "datum.leftside ? 'right' : 'left'"}, | |
"opacity": {"signal": "labels ? 1 : 0"} | |
} | |
} | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment