Hi All, I'll create a javascript module in angular to solve this issue and share.
Thanks, Nishani. On Thu, Jun 25, 2015 at 12:09 AM, James Taylor <jamestay...@apache.org> wrote: > Yes, exactly right. > > On Wed, Jun 24, 2015 at 11:35 AM, Ayola Jayamaha <raphaelan...@gmail.com> > wrote: > > Hi All, > > > > Now it is clear. We can create a statement from the user's input query to > > the format in the description column and filter out the possible root > spans > > of the traces of the query. Then by selecting the traces which have their > > parent ids equal to span id of the root span we can get all the traces > > relevant to the query. > > We can find the total duration for a particular statement. Interesting > > statements/traces can viewed as a timeline. > > Is this method alright? > > > > Thanks, > > Nishani > > > > > > On Wed, Jun 24, 2015 at 11:21 PM, James Taylor <jamestay...@apache.org> > > wrote: > > > >> Yep, Jesse's right - the query is in the description column of the > >> root span of the trace. We'll need to include this in the trace UI, > >> otherwise the user won't have the context they need to know what > >> they're looking at. If there's something missing from the way we're > >> capturing, we can fix it. > >> Thanks, > >> James > >> > >> On Wed, Jun 24, 2015 at 9:09 AM, Jesse Yates <jesse.k.ya...@gmail.com> > >> wrote: > >> > There was some discussion (maybe internal to salesforce?) around how > to > >> > include the query in the trace. I think the simplest we came up with > was > >> > just adding it to the trace metadata (as an annotation?) and then you > can > >> > pull it out later since you know the key it was stored as > >> > > >> > On Wed, Jun 24, 2015 at 9:05 AM Ayola Jayamaha < > raphaelan...@gmail.com> > >> > wrote: > >> >> > >> >> Hi James, > >> >> > >> >> I find it difficult to come up with a method to include the SQL > >> statements > >> >> with the traces. But it is possible to filter out the traces for a > >> >> particular table for a given time period. > >> >> > >> >> Aggregating over the time spent for each SQL statement is possible. > With > >> >> the relationship between parent and span ids it is possible to > >> >> differentiate between traces belonging to each query. > >> >> > >> >> Thanks, > >> >> Nishani > >> >> > >> >> On Wed, Jun 24, 2015 at 12:11 PM, James Taylor < > jamestay...@apache.org> > >> >> wrote: > >> >> > >> >> > Hi Nishani, > >> >> > I think this is a good start. One important part is tying this > back to > >> >> > something to which the user can relate - namely the SQL statement > that > >> >> > was > >> >> > executed. Would it be possible to include the string of the > statement? > >> >> > > >> >> > Another interesting angle would be to group by the statement and > >> >> > aggregate > >> >> > the overall time spent to get an idea of the "top N queries" over a > >> >> > given > >> >> > time range. Then drilling into those to see the traces. > >> >> > > >> >> > Thanks, > >> >> > James > >> >> > > >> >> > On Fri, Jun 19, 2015 at 11:01 AM, Ayola Jayamaha > >> >> > <raphaelan...@gmail.com> > >> >> > wrote: > >> >> > > >> >> >> Hi All, > >> >> >> > >> >> >> Milestone-1 can be found in my git repo[1]. > >> >> >> Features : > >> >> >> > >> >> >> - Adding tracing to a timeline using sample json > >> >> >> - Comparing two or more traces on the timeline > >> >> >> - Visualizing the trace distribution across the time axis > >> >> >> - Removing a trace from the list of traces represented on the > >> chart > >> >> >> - Listing the tracing information on a table > >> >> > >> >> >> > >> >> >> Any feedback will be appreciated. > >> >> >> Thanks. > >> >> >> > >> >> >> [1] > https://github.com/AyolaJayamaha/TracingWebApp/tree/milestone-1 > >> >> >> > >> >> >> On Wed, Jun 17, 2015 at 11:35 PM, Ayola Jayamaha > >> >> >> <raphaelan...@gmail.com> > >> >> >> wrote: > >> >> >> > >> >> >>> > >> >> >>> Hi All, > >> >> >>> > >> >> >>> You can find milestone-1 in my git repo. This is the working > >> >> >>> branch[1]. > >> >> >>> It has not been binded to backend yet. But the visualization of > >> traces > >> >> >>> can > >> >> >>> be seen from the code. > >> >> >>> Traces can be selected from table/time period and shown on the > >> >> >>> timeline > >> >> >>> as [2]. The parameters could be entered as TableName, StartTime, > >> >> >>> EndTime > >> >> >>> and the traces would be listed down. The user can select the > traces > >> as > >> >> >>> his > >> >> >>> preference and view their timelines. Is the procedure ok? > >> >> >>> The start time of different traces could be visualized by > bringing > >> >> >>> them > >> >> >>> up to a same time reference for comparison. > >> >> >>> > >> >> >>> > >> >> >>> [1] > https://github.com/AyolaJayamaha/TracingWebApp/tree/milestone-1 > >> >> >>> [2] > >> >> >>> > >> https://issues.apache.org/jira/secure/attachment/12740161/timeline.png > >> >> >>> > >> >> >>> > >> >> >>> On Tue, Jun 16, 2015 at 11:10 AM, Ayola Jayamaha > >> >> >>> <raphaelan...@gmail.com > >> >> >>> > wrote: > >> >> >>> > >> >> >>>> Hi All, > >> >> >>>> > >> >> >>>> Attached here are the table schema and data for the join query I > >> >> >>>> executed. > >> >> >>>> > >> >> >>>> ./psql.py localhost:2181/hbase ../examples/school/school.sql > >> >> >>>> ../examples/school/STUDENTS.csv ../examples/school/SUBJECTS.csv > >> >> >>>> ../examples/school/MARKS.csv > ../examples/school/school_queries.sql > >> >> >>>> > >> >> >>>> Above is the command I executed. But the last query > >> >> >>>> > >> >> >>>> SELECT M.GRADE > >> >> >>>> FROM MARKS AS M > >> >> >>>> INNER JOIN SUBJECTS AS S > >> >> >>>> ON M.SUBJECT_ID = S.SUBJECT_ID; > >> >> >>>> > >> >> >>>> doesn't give any results and when I check for the traces > >> >> >>>> corresponding > >> >> >>>> the inner join query I couldn't find them. > >> >> >>>> > >> >> >>>> What might be the issue? > >> >> >>>> > >> >> >>>> Thanks. > >> >> >>>> > >> >> >>>> > >> >> >>>> school.zip > >> >> >>>> > >> >> >>>> < > >> > https://drive.google.com/file/d/0Bxpj3lSPvr6WdW15bUc0YkdYemc/edit?usp=drive_web > >> > > >> >> > >> >> >>>> > >> >> >>>> > >> >> >>>> On Sun, Jun 14, 2015 at 9:58 PM, Ayola Jayamaha > >> >> >>>> <raphaelan...@gmail.com > >> >> >>>> > wrote: > >> >> >>>> > >> >> >>>>> Hi All, > >> >> >>>>> > >> >> >>>>> On the explain plan to show which part of the code is run > where a > >> >> >>>>> graph is shown[1]. Default chart will be a Pie chart and I'm > >> planing > >> >> >>>>> to use > >> >> >>>>> few more chat types so user can pick his choice. If any node > >> >> >>>>> responding > >> >> >>>>> slowly. Phoenix database administrator can exam the node and > >> examin > >> >> >>>>> what > >> >> >>>>> are queries run on a particular time. > >> >> >>>>> > >> >> >>>>> I have run few examples on secondary indexes[4] and I got > sample > >> >> >>>>> data > >> >> >>>>> and it can be used for the milestone1(end of this week). It is > >> shown > >> >> >>>>> with > >> >> >>>>> timesliding capabilities. Trace segments are shown in a > >> timeline.[2] > >> >> >>>>> > >> >> >>>>> Does filters mean 'where' like logic statements? The database > >> admin > >> >> >>>>> can track the duration for a particular trace from timeline > >> >> >>>>> visualization > >> >> >>>>> so he can use the filters effectively (best order of the > filters) > >> in > >> >> >>>>> a > >> >> >>>>> query to get a quick respond. > >> >> >>>>> > >> >> >>>>> I tried the join query and it didn't give any results or > >> >> >>>>> corresponding > >> >> >>>>> traces. This is the reference I followed [3]. Is there any more > >> >> >>>>> steps to > >> >> >>>>> follow? > >> >> >>>>> > >> >> >>>>> To visualize the tracing details I looked through few charting > >> >> >>>>> libraries and I will give the comparison details over them. > >> >> >>>>> Please feel free to give the feedback on the mock uis. > >> >> >>>>> > >> >> >>>>> Thanks. > >> >> >>>>> > >> >> >>>>> [1] > >> >> >>>>> > >> >> >>>>> > >> > https://issues.apache.org/jira/secure/attachment/12739498/m1-mockUI-tracedistribution.png > >> >> >>>>> [2] > >> >> >>>>> > >> >> >>>>> > >> > https://issues.apache.org/jira/secure/attachment/12739499/m1-mockUI-tracetimeline.png > >> >> >>>>> [3] https://phoenix.apache.org/joins.html > >> >> >>>>> [4] > >> >> >>>>> > >> >> >>>>> > >> > http://ayolajayamaha.blogspot.com/2015/06/tracing-data-secondary-indixes.html > >> >> >>>>> > >> >> >>>>> On Thu, Jun 11, 2015 at 11:39 AM, Ayola Jayamaha < > >> >> >>>>> raphaelan...@gmail.com> wrote: > >> >> >>>>> > >> >> >>>>>> Yes. It was a bit confusing :-). But it was useful to get a > good > >> >> >>>>>> idea on the use cases. > >> >> >>>>>> Thanks. > >> >> >>>>>> > >> >> >>>>>> On Wed, Jun 10, 2015 at 11:57 PM, James Taylor < > >> >> >>>>>> jamestay...@apache.org> wrote: > >> >> >>>>>> > >> >> >>>>>>> Excellent, Nishani (and you forgot to say "rambling" :-), but > >> I'm > >> >> >>>>>>> glad > >> >> >>>>>>> it helped). > >> >> >>>>>>> > >> >> >>>>>>> On Wed, Jun 10, 2015 at 11:16 AM, Ayola Jayamaha < > >> >> >>>>>>> raphaelan...@gmail.com> wrote: > >> >> >>>>>>> > Hi James, > >> >> >>>>>>> > > >> >> >>>>>>> > Thanks a lot for the lengthy and descriptive reply. I am > >> >> >>>>>>> > currently > >> >> >>>>>>> looking > >> >> >>>>>>> > through UI components and charting libraries that can be > used > >> >> >>>>>>> > for > >> >> >>>>>>> the UI. I > >> >> >>>>>>> > refered [1] with regard to your explaination and came up > with > >> >> >>>>>>> > some > >> >> >>>>>>> mock ups > >> >> >>>>>>> > which I will share soon. > >> >> >>>>>>> > > >> >> >>>>>>> > Thanks, > >> >> >>>>>>> > Nishani > >> >> >>>>>>> > > >> >> >>>>>>> > [1] https://phoenix.apache.org/language/#index_hint > >> >> >>>>>>> > [2] > >> >> >>>>>>> > > >> >> >>>>>>> > >> >> >>>>>>> > >> > https://phoenix.apache.org/faq.html#How_do_I_create_Secondary_Index_on_a_table > >> >> >>>>>>> > > >> >> >>>>>>> > On Tue, Jun 9, 2015 at 11:39 PM, James Taylor < > >> >> >>>>>>> jamestay...@apache.org> > >> >> >>>>>>> > wrote: > >> >> >>>>>>> > > >> >> >>>>>>> >> Hi Nishani, > >> >> >>>>>>> >> I'd recommend focusing on higher level use cases. From the > >> >> >>>>>>> >> user's > >> >> >>>>>>> >> point of view, they're executing a query and for some > reason > >> >> >>>>>>> >> it's > >> >> >>>>>>> >> slower than they expect. How do they figure out why? > >> >> >>>>>>> >> > >> >> >>>>>>> >> They might first do an EXPLAIN on their query to see how > >> >> >>>>>>> >> Phoenix > >> >> >>>>>>> is > >> >> >>>>>>> >> executing it. Which parts are run where? Are secondary > >> indexes > >> >> >>>>>>> being > >> >> >>>>>>> >> used as expected? Are filters being pushed down as > expected? > >> A > >> >> >>>>>>> better > >> >> >>>>>>> >> way to visualize the explain plan might be a good thing > for > >> you > >> >> >>>>>>> >> to > >> >> >>>>>>> >> start with. > >> >> >>>>>>> >> > >> >> >>>>>>> >> Second, assuming the explain plan looks good, they'll > want to > >> >> >>>>>>> turn on > >> >> >>>>>>> >> tracing so that they can get runtime information on which > >> parts > >> >> >>>>>>> >> of > >> >> >>>>>>> >> their query are taking the longest. > >> >> >>>>>>> >> > >> >> >>>>>>> >> Maybe more than one Phoenix table is involved - how will > you > >> >> >>>>>>> display > >> >> >>>>>>> >> the tracing information across multiple tables for a query > >> that > >> >> >>>>>>> does a > >> >> >>>>>>> >> join? Maybe you can punt on this first pass, and focus on > >> >> >>>>>>> >> single > >> >> >>>>>>> table > >> >> >>>>>>> >> queries. A related use case would be a DML statement > that's > >> >> >>>>>>> executed > >> >> >>>>>>> >> and taking longer than expected. Let's say that the table > >> being > >> >> >>>>>>> >> updated has one or more secondary indexes that are also > >> >> >>>>>>> >> updating > >> >> >>>>>>> the > >> >> >>>>>>> >> index tables. Seeing the entire picture of both the table > >> >> >>>>>>> >> writes > >> >> >>>>>>> plus > >> >> >>>>>>> >> the index writes on the same graph would be great. > >> >> >>>>>>> >> > >> >> >>>>>>> >> For the single-table query user case, what does the > >> >> >>>>>>> >> distribution > >> >> >>>>>>> of > >> >> >>>>>>> >> time look like across all the region servers > participating in > >> >> >>>>>>> >> the > >> >> >>>>>>> >> query? Maybe some kind of graph that shows quickly if one > >> >> >>>>>>> >> region > >> >> >>>>>>> >> server is taking much more time than the others. Perhaps > >> that's > >> >> >>>>>>> >> an > >> >> >>>>>>> >> indication that the table statistics need to be re-run, as > >> >> >>>>>>> >> there > >> >> >>>>>>> may > >> >> >>>>>>> >> be skew that's developed such that one of the threads is > >> >> >>>>>>> >> handling > >> >> >>>>>>> more > >> >> >>>>>>> >> data than it should. Or perhaps there's an issue with that > >> >> >>>>>>> particular > >> >> >>>>>>> >> region server. Was there something else going on at the > same > >> >> >>>>>>> >> time > >> >> >>>>>>> on > >> >> >>>>>>> >> that region server, like a background compaction/split > >> process? > >> >> >>>>>>> >> If > >> >> >>>>>>> >> that information is available in the trace table (not > sure), > >> it > >> >> >>>>>>> would > >> >> >>>>>>> >> be very cool to be able to superimpose that on top of the > >> query > >> >> >>>>>>> trace > >> >> >>>>>>> >> graph. > >> >> >>>>>>> >> > >> >> >>>>>>> >> Another test might be to run a query over a different > table > >> and > >> >> >>>>>>> see if > >> >> >>>>>>> >> the same region server shows up again as being slow. So > >> >> >>>>>>> superimposing > >> >> >>>>>>> >> the query trace graphs of multiple queries might give the > >> user > >> >> >>>>>>> some > >> >> >>>>>>> >> insight. > >> >> >>>>>>> >> > >> >> >>>>>>> >> IMHO, this is the kind of angle you should come at this > from. > >> >> >>>>>>> >> > >> >> >>>>>>> >> Thanks, > >> >> >>>>>>> >> James > >> >> >>>>>>> >> > >> >> >>>>>>> >> On Mon, Jun 8, 2015 at 4:12 AM, Ayola Jayamaha < > >> >> >>>>>>> raphaelan...@gmail.com> > >> >> >>>>>>> >> wrote: > >> >> >>>>>>> >> > Hi All, > >> >> >>>>>>> >> > > >> >> >>>>>>> >> > Basically what type of use cases are you expecting or > >> >> >>>>>>> performing at the > >> >> >>>>>>> >> > moment with regard to tracing? For example these are the > >> use > >> >> >>>>>>> cases I'm > >> >> >>>>>>> >> > planing. > >> >> >>>>>>> >> > 1. Searching by parent id / trace id / description (regx > >> >> >>>>>>> >> > search) > >> >> >>>>>>> >> > 2. Grouping and ordering the tracing information by time > >> >> >>>>>>> >> > period. > >> >> >>>>>>> >> > 3. Counting the trace count per day / hour. > >> >> >>>>>>> >> > 4. Comparing and distinguishing two sets of tracing. > >> >> >>>>>>> >> > Thanks. > >> >> >>>>>>> >> > > >> >> >>>>>>> >> > > >> >> >>>>>>> >> > On Mon, Jun 8, 2015 at 4:00 PM, Nishani (JIRA) > >> >> >>>>>>> >> > <j...@apache.org> > >> >> >>>>>>> wrote: > >> >> >>>>>>> >> > > >> >> >>>>>>> >> >> > >> >> >>>>>>> >> >> [ > >> >> >>>>>>> >> >> > >> >> >>>>>>> >> > >> >> >>>>>>> > >> >> >>>>>>> > >> > https://issues.apache.org/jira/browse/PHOENIX-1118?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel > >> >> >>>>>>> >> >> ] > >> >> >>>>>>> >> >> > >> >> >>>>>>> >> >> Nishani updated PHOENIX-1118: > >> >> >>>>>>> >> >> ------------------------------ > >> >> >>>>>>> >> >> Attachment: Screenshot of dependency tree.png > >> >> >>>>>>> >> >> > >> >> >>>>>>> >> >> Attaching the dependency tree on tracing. > >> >> >>>>>>> >> >> Pull request can be found here. > >> >> >>>>>>> >> >> https://github.com/AyolaJayamaha/TracingWebApp/pull/1 > >> >> >>>>>>> >> >> > >> >> >>>>>>> >> >> > Provide a tool for visualizing Phoenix tracing > >> information > >> >> >>>>>>> >> >> > > >> ---------------------------------------------------------- > >> >> >>>>>>> >> >> > > >> >> >>>>>>> >> >> > Key: PHOENIX-1118 > >> >> >>>>>>> >> >> > URL: > >> >> >>>>>>> >> https://issues.apache.org/jira/browse/PHOENIX-1118 > >> >> >>>>>>> >> >> > Project: Phoenix > >> >> >>>>>>> >> >> > Issue Type: Sub-task > >> >> >>>>>>> >> >> > Reporter: James Taylor > >> >> >>>>>>> >> >> > Assignee: Nishani > >> >> >>>>>>> >> >> > Labels: Java, SQL, Visualization, > gsoc2015, > >> >> >>>>>>> mentor > >> >> >>>>>>> >> >> > Attachments: MockUp1-TimeSlider.png, > >> >> >>>>>>> >> MockUp2-AdvanceSearch.png, > >> >> >>>>>>> >> >> MockUp3-PatternDetector.png, MockUp4-FlameGraph.png, > >> >> >>>>>>> Screenshot of > >> >> >>>>>>> >> >> dependency tree.png, screenshot of tracing web app.png > >> >> >>>>>>> >> >> > > >> >> >>>>>>> >> >> > > >> >> >>>>>>> >> >> > Currently there's no means of visualizing the trace > >> >> >>>>>>> information > >> >> >>>>>>> >> provided > >> >> >>>>>>> >> >> by Phoenix. We should provide some simple charting over > >> our > >> >> >>>>>>> metrics > >> >> >>>>>>> >> tables. > >> >> >>>>>>> >> >> Take a look at the following JIRA for sample queries: > >> >> >>>>>>> >> >> > >> >> >>>>>>> >> > >> >> >>>>>>> > >> >> >>>>>>> > >> > https://issues.apache.org/jira/browse/PHOENIX-1115?focusedCommentId=14323151&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14323151 > >> >> >>>>>>> >> >> > >> >> >>>>>>> >> >> > >> >> >>>>>>> >> >> > >> >> >>>>>>> >> >> -- > >> >> >>>>>>> >> >> This message was sent by Atlassian JIRA > >> >> >>>>>>> >> >> (v6.3.4#6332) > >> >> >>>>>>> >> >> > >> >> >>>>>>> >> > > >> >> >>>>>>> >> > > >> >> >>>>>>> >> > > >> >> >>>>>>> >> > -- > >> >> >>>>>>> >> > Best Regards, > >> >> >>>>>>> >> > Nishani Jayamaha > >> >> >>>>>>> >> > http://ayolajayamaha.blogspot.com/ > >> >> >>>>>>> >> > >> >> >>>>>>> > > >> >> >>>>>>> > > >> >> >>>>>>> > > >> >> >>>>>>> > -- > >> >> >>>>>>> > Best Regards, > >> >> >>>>>>> > Nishani Jayamaha > >> >> >>>>>>> > http://ayolajayamaha.blogspot.com/ > >> >> >>>>>>> > >> >> >>>>>> > >> >> >>>>>> > >> >> >>>>>> > >> >> >>>>>> -- > >> >> >>>>>> Best Regards, > >> >> >>>>>> Nishani Jayamaha > >> >> >>>>>> http://ayolajayamaha.blogspot.com/ > >> >> >>>>>> > >> >> >>>>>> > >> >> >>>>>> > >> >> >>>>> > >> >> >>>>> > >> >> >>>>> -- > >> >> >>>>> Best Regards, > >> >> >>>>> Nishani Jayamaha > >> >> >>>>> http://ayolajayamaha.blogspot.com/ > >> >> >>>>> > >> >> >>>>> > >> >> >>>>> > >> >> >>>> > >> >> >>>> > >> >> >>>> -- > >> >> >>>> Best Regards, > >> >> >>>> Nishani Jayamaha > >> >> >>>> http://ayolajayamaha.blogspot.com/ > >> >> >>>> > >> >> >>>> > >> >> >>>> > >> >> >>> > >> >> >>> > >> >> >>> -- > >> >> >>> Best Regards, > >> >> >>> Nishani Jayamaha > >> >> >>> http://ayolajayamaha.blogspot.com/ > >> >> >>> > >> >> >>> > >> >> >>> > >> >> >> > >> >> >> > >> >> >> -- > >> >> >> Best Regards, > >> >> >> Nishani Jayamaha > >> >> >> http://ayolajayamaha.blogspot.com/ > >> >> >> > >> >> >> > >> >> >> > >> >> > > >> >> > >> >> > >> >> -- > >> >> Best Regards, > >> >> Nishani Jayamaha > >> >> http://ayolajayamaha.blogspot.com/ > >> > > > > > > > > -- > > Best Regards, > > Nishani Jayamaha > > http://ayolajayamaha.blogspot.com/ > -- Best Regards, Nishani Jayamaha http://ayolajayamaha.blogspot.com/