19
Apache Phoenix Tracing Web App Distributed Tracing and Zipkin Workshop October 5 th 2015

Apache phoenix

Embed Size (px)

Citation preview

Page 1: Apache phoenix

Apache PhoenixTracing Web App

Distributed Tracing and Zipkin WorkshopOctober 5th 2015

Page 2: Apache phoenix

About MeI’m an undergraduate student at

University of Moratuwa, Sri Lanka.

Project Engineer at LK Domain Registry.

I created the Phoenix Web App for GSoC 2015.

Worked with Open-source & Apache ~ 2 years ago

Page 3: Apache phoenix

AgendaWhat is PhoenixWhy we need TracingMain Functions in Web AppChallenges facedNew Issues raisedRoadmapQ&A

Page 4: Apache phoenix

Introduction to Apache PhoenixConverting HBase into SQL databaseFastest to Access HBase dataLightweight

◦Copy Phoenix jar into HBaseIntegration-friendly

◦Apache Pig◦Apache Flume◦Apache Sqoop◦Apache Spark

Page 5: Apache phoenix

Current CapabilitiesSupport common SQL Data TypesInserts and UpdatesSELECT, DISTINCT, GROUP BY,

HAVINGNOT NULL & Primary key

ConstraintsInner and Outer JoinsViews

Page 6: Apache phoenix

Future CapabilitiesTransaction Support. Integrating with

Tephra- Transactions for Apache HBaseJSON SupportMonitoring and Management

Improvements https://issues.apache.org/jira/browse/PHOENIX-1121

Cost-based Query Optimization. https://issues.apache.org/jira/browse/PHOENIX-1177

Page 7: Apache phoenix

Why we need TracingBetter query analysis.Performance issues with total

system or individual queries.Full stack view when

investigating performance.Top 10 queries that take the

longest amount of time in production.

Dependencies and parallel query executions.

Page 8: Apache phoenix

Features of the Tracing Web Apphttps://github.com/apache/phoeni

x master branch

Launching script in pythonBack-end – exposing tracing

table data as rest (json format)Front-end – Web App in HTML5 &

AngularJS with charting (Google Charts)

Page 9: Apache phoenix

Five Main FeaturesListTrace Count DistributionTrace Distribution on hostsTraces

◦Dependency Tree◦Timeline

Page 10: Apache phoenix

ListThe most recent traces are listed

down.The limiting value entered on the

textbox (the trace count displayed)

With each trace a link is there to view the dependency tree and the timeline.

Page 11: Apache phoenix

Trace Count Distribution Trace count is listed by distribution. Chart types

◦ Pie Charts◦ Area Charts◦ Bar Charts◦ Line Charts

Page 12: Apache phoenix

Trace Distribution by HostsShows the traces across phoenix hosts on which

they are running.The charts used are pie charts, line charts, bar

charts and area charts.The chart changing option is collapsible and could

be hidden.Could take decisions on loading on the hosts that

run phoenix.

59%23%

10%9%

Trace Distribution by Hosts1st Host2nd Host3rd Host4th Host

Page 13: Apache phoenix

Dependency TreeViews traces belonging to a trace idTree viewThe tooltip gives the host name, parent id, span

id, start time, end time, description and duration.nodes are collapsible and expandable

Page 14: Apache phoenix

Timeline The traces can be viewed along the time axis for a given

trace id. Traces can be added or cleared from the timeline. There should be a minimum of two traces starting at two

different times for the system to draw its timeline. Helps the user to easily compare execution times between

traces and within the same trace.

Page 15: Apache phoenix

Programming ChallengesVisualization techniques

evaluation.Choosing a charting library that

caters for all the visualization requirements.

A wide dependency tree was drawn for a sample data set. Collapsible feature was introduced to tree view to resolve this.

Mapping the trace ids with the SQL query which spans them.

Page 16: Apache phoenix

New Issues Createdhttps://issues.apache.org/jira/browse/PHOE

NIX-2208 (Navigation to trace information in tracing UI needs to be driven off of query instead of trace ID)

https://issues.apache.org/jira/browse/PHOENIX-2219 (Create a page which under the covers turn on tracing, run a specified SQL, get its trace id and then plot the relevant chart, turn off tracing)

https://issues.apache.org/jira/browse/PHOENIX-2218 (List page should display last x number of top level traces)

Page 17: Apache phoenix

RoadmapApache PhoenixImportance of TracingTracing Web AppEncountered Issues & ChallengesNewly Created Issues

Page 18: Apache phoenix

Questions

Page 19: Apache phoenix