-
Notifications
You must be signed in to change notification settings - Fork 119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Trimmed Pipeline Stat Tracking #994
Conversation
…emoving unnecessary tracking for these stats
@TeachMeTW the problem with this analysis is that it doesn't take nesting into account. To understand what that means, think about the high level of why we instrumented in the first place. If we remove the bottom 80% of stats, will it help us achieve that goal? Concretely, what is the next step after removing the bottom 80% of stats and will that take us closer to the eventual goal of improved scalability. |
@shankari There was a 'problem' with the stage snapshot; when I was going through the top and bottom timings, there were some functions that does NOT exist in the recent master -- they might've been artifacts from the past. I got rid of those functions that did exist for the bottom end and re ran the pipeline; now yes there is nesting -- the next step I am currently working is looking into the top 20% and seeing where its taking quite long and adding further instrumentation within those to zoom into the actual bottlenecks ie |
@shankari I’m still at conference and need to unpack the gear when I reach the hotel. Would it be possible to reschedule our meeting to tomorrow instead? Let me know if that works -- allows me to prepare better for the discussion as well |
From Stage Snapshot
I noticed that dist filter was only called... where is time? I am testing locally with an ios and android opcode with caebikes now. |
How I am testing
I realize that they are not similar—some users have more trips and other variations, so the readings are not accurate. |
@TeachMeTW this #994 (comment) approach was good for a first pass. However, the point of adding the instrumentation was so that you could see the time taken when the pipeline was running on the server. You should use the You can also bin by different types of users (e.g. based on duration of data collection or number of trips). The idea is that, with enough observations, little noise/variability fades into noise. If there is a clear signal in there, you can analyze groups of users separately. |
@shankari I binned the stage trips by duration and this is what I found: I found it weird how some took over a week. I analyzed the profiles in the db and took a look at the pipeline range.
which seems quite long |
I did more analysis; seems like its platform independent
|
Going to pick an android and ios user from 1-6 Hour range to test pipeline again in stage |
Tried the 1-6 Hour and 1 Week opcodes but did not prove useful; trying with larger times |
Before rushing off, you might want to verify this:
If that is not true, the rest of your analysis is invalid. Note that you can't expect an answer from me for questions in the middle of the day (or night). |
I took a look at the profiles, and looked at last update ts; latest was in October so I began looking at pipeline_time instead to see the latest updates to 'STORE_USER_STATS' indicating it was ran when the latest was merged |
@TeachMeTW I would suggest not focusing on what you can do, but what you want to achieve. What are you trying to figure out? What is the overall goal? |
I am trying to figure out if both an IOS and an ANDROID was put into the pipeline during Nov 8 when the staging was merged with the changes. The main reasoning is that both use different filters -- one uses time and the other uses distance. I noticed on the mongodump that there was functions that doesn't exist anymore and functions that were never called. I wanted to investigate if 1) both android and ios were tested, 2) Retest on stage op codes featuring an android and ios to see if I need to add more in depth instrumentation or remove some and see what areas need improvement |
What I found was that only an IOS device was tested, meaning the Android was untested. |
Optimize Pipeline by Streamlining Statistic Tracking
Summary
Introduces improvements to the statistics tracking pipeline by focusing on key metrics and removing unnecessary tracking for the bottom 80% and top 20% statistics. These changes aim to enhance performance and reduce resource overhead.
Changes
Testing
Notes
From this test run.... Readings are in SECONDS
Top 20%:
Bottom 80%: