[ltt-dev] pull request: lttv distributed trace synchronization
Benjamin Poirier
benjamin.poirier at polymtl.ca
Fri Dec 18 15:34:48 EST 2009
Hello,
The following patches add support to lttv for synchronizing distributed traces. Only the first two patches should have an impact on lttv even when synchronization is not enabled. To use synchronization, record traces with ltt-armall -n and start lttv with --sync. Please see lttv/lttv/sync/README for much more details regarding usage, design and algorithms.
Please pull from
git://hal.drap.polymtl.ca/lttv-sync.git for-pmf
Thank you,
-Ben
---
Benjamin Poirier (48):
Revert "sync frequency of all traces with the first loaded"
Add members to LttTrace to support time adjustments
Text mode clock synchronization
Graphical mode synchronization
Split the synchronization code into modules
Do not use pkfree_skb events for synchronization
Add convex hull algorithm-based synchronization
Add a unittest program for clock synchronization modules
Make the synchronization module interfaces more generic
Add a README for the clock synchronization code
Adjust the marker names used for clock synchronization
Processing of UDP events
Add a batchanalysis module to build and run a sync chain
Add a broadcast matching module
Add a module to evaluate the quality of synchronization
Add support for module options
Adds wall time field to events
Add a module to distribute messages to many analysis modules
Call the stats and graph functions from sync_chain
Use histograms with logarithmicly-sized bins
Add graphStream field to syncState
Show the latency histograms by IP address rather than by trace
Print a sum row in the evaluation statistics
Do not use LttCycleCount elsewhere than in processing_lttv
Use a timescale without correction in the graphs
Generate graphs of broadcasts
Store graph callbacks in a structure
Generate graphs of synchronization accuracy
Have callbacks for "background" and "foreground" graphs
Make the accuracy area easier to see on the broadcast graphs
Print approximation type from a constant instead of hardcoded
Update README with info about algorithms, glpk and more
Don't access stats if they're not activated
Remove leftover references to processing_lttv
Remove unused g_info definitions
Clean debug statements
Move some functions around to improve overall structure
initProcessing takes a va_arg rather than an lttv-specific type
Make option type OPTIONAL_ARG available
Initialize traceNb in the processing modules
Use a common function to print stats of all modules
Add sync_chain_unittest
Add a processing module that reads events from a text file
Fix leaks and invalid memory accesses
Change a test file to create hulls that are more spaced out
Correct the README regarding eval mode usage
Rebuild traceset contexts after performing synchronization
Fix compilation warnings
configure.ac | 86 +-
ltt/trace.h | 4 +
ltt/tracefile.c | 45 +-
lttv/lttv/Makefile.am | 19 +-
lttv/lttv/iattribute.c | 4 +-
lttv/lttv/iattribute.h | 2 +-
lttv/lttv/sync/.gitignore | 4 +
lttv/lttv/sync/Makefile.am | 17 +
lttv/lttv/sync/README | 289 +++
lttv/lttv/sync/data_structures.c | 647 +++++++
lttv/lttv/sync/data_structures.h | 183 ++
lttv/lttv/sync/event_analysis.h | 50 +
lttv/lttv/sync/event_analysis_chull.c | 1645 ++++++++++++++++
lttv/lttv/sync/event_analysis_chull.h | 180 ++
lttv/lttv/sync/event_analysis_eval.c | 2010 ++++++++++++++++++++
lttv/lttv/sync/event_analysis_eval.h | 156 ++
lttv/lttv/sync/event_analysis_linreg.c | 757 ++++++++
lttv/lttv/sync/event_analysis_linreg.h | 52 +
lttv/lttv/sync/event_matching.h | 45 +
lttv/lttv/sync/event_matching_broadcast.c | 497 +++++
lttv/lttv/sync/event_matching_broadcast.h | 68 +
lttv/lttv/sync/event_matching_distributor.c | 460 +++++
lttv/lttv/sync/event_matching_distributor.h | 34 +
lttv/lttv/sync/event_matching_tcp.c | 712 +++++++
lttv/lttv/sync/event_matching_tcp.h | 63 +
lttv/lttv/sync/event_processing.h | 42 +
lttv/lttv/sync/event_processing_lttng_common.c | 247 +++
lttv/lttv/sync/event_processing_lttng_common.h | 67 +
lttv/lttv/sync/event_processing_lttng_null.c | 147 ++
lttv/lttv/sync/event_processing_lttng_null.h | 38 +
lttv/lttv/sync/event_processing_lttng_standard.c | 741 +++++++
lttv/lttv/sync/event_processing_lttng_standard.h | 64 +
lttv/lttv/sync/event_processing_text.c | 484 +++++
lttv/lttv/sync/event_processing_text.h | 32 +
lttv/lttv/sync/graph_functions.c | 271 +++
lttv/lttv/sync/graph_functions.h | 49 +
lttv/lttv/sync/lookup3.h | 143 ++
lttv/lttv/sync/sync_chain.c | 163 ++
lttv/lttv/sync/sync_chain.h | 77 +
lttv/lttv/sync/sync_chain_lttv.c | 364 ++++
lttv/lttv/sync/sync_chain_lttv.h | 28 +
lttv/lttv/sync/sync_chain_unittest.c | 474 +++++
lttv/lttv/sync/testData/test1.txt | 7 +
lttv/lttv/sync/testData/test10.txt | 7 +
lttv/lttv/sync/testData/test11.txt | 16 +
lttv/lttv/sync/testData/test12.txt | 13 +
lttv/lttv/sync/testData/test2.txt | 12 +
lttv/lttv/sync/testData/test3.txt | 15 +
lttv/lttv/sync/testData/test4.txt | 12 +
lttv/lttv/sync/testData/test5.txt | 12 +
lttv/lttv/sync/testData/test6.txt | 12 +
lttv/lttv/sync/testData/test7.txt | 12 +
lttv/lttv/sync/testData/test8.txt | 6 +
lttv/lttv/sync/testData/test9.txt | 7 +
lttv/lttv/tracecontext.c | 5 +-
lttv/lttv/tracecontext.h | 3 +
lttv/modules/gui/lttvwindow/lttvwindow/callbacks.c | 71 +-
.../gui/lttvwindow/lttvwindow/init_module.c | 2 +-
lttv/modules/text/Makefile.am | 3 +-
lttv/modules/text/batchAnalysis.c | 6 +-
lttv/modules/text/sync_chain_batch.c | 445 +++++
runlttv | 5 +-
62 files changed, 12051 insertions(+), 80 deletions(-)
More information about the lttng-dev
mailing list