summaryrefslogtreecommitdiff
path: root/util/stats/stats.py
AgeCommit message (Collapse)Author
2006-06-11Merge iceaxe.:/Volumes/work/research/m5/headNathan Binkert
into iceaxe.:/Volumes/work/research/m5/merge src/cpu/simple/base.cc: src/kern/kernel_stats.cc: src/kern/kernel_stats.hh: src/kern/system_events.cc: src/kern/system_events.hh: src/python/m5/objects/System.py: src/sim/system.cc: src/sim/system.hh: hand merge --HG-- rename : build/SConstruct => SConstruct rename : SConscript => src/SConscript rename : arch/alpha/freebsd/system.cc => src/arch/alpha/freebsd/system.cc rename : arch/alpha/linux/system.cc => src/arch/alpha/linux/system.cc rename : arch/alpha/linux/system.hh => src/arch/alpha/linux/system.hh rename : arch/alpha/system.cc => src/arch/alpha/system.cc rename : arch/alpha/tru64/system.cc => src/arch/alpha/tru64/system.cc rename : base/statistics.cc => src/base/statistics.cc rename : base/statistics.hh => src/base/statistics.hh rename : base/stats/mysql.cc => src/base/stats/mysql.cc rename : base/stats/mysql.hh => src/base/stats/mysql.hh rename : base/stats/statdb.cc => src/base/stats/statdb.cc rename : base/stats/statdb.hh => src/base/stats/statdb.hh rename : base/stats/text.cc => src/base/stats/text.cc rename : base/stats/text.hh => src/base/stats/text.hh rename : cpu/simple/cpu.cc => src/cpu/simple/base.cc rename : kern/kernel_stats.cc => src/kern/kernel_stats.cc rename : kern/kernel_stats.hh => src/kern/kernel_stats.hh rename : kern/system_events.cc => src/kern/system_events.cc rename : kern/system_events.hh => src/kern/system_events.hh rename : python/m5/objects/System.py => src/python/m5/objects/System.py rename : sim/system.cc => src/sim/system.cc rename : sim/system.hh => src/sim/system.hh rename : test/stattest.cc => src/unittest/stattest.cc extra : convert_revision : 4bb576a2bf5e32784efc48030bd776c6c7c29a7c
2006-06-10Remove all binning stuffNathan Binkert
--HG-- extra : convert_revision : 6da2b3b0b6c2824f2064d42670fd8383edb7c718
2006-05-31Updated Authors from bk prs infoAli Saidi
--HG-- extra : convert_revision : 77f475b156d81c03a2811818fa23593d5615c685
2006-02-26fix some minor stats stuffNathan Binkert
util/stats/stats.py: fix up a few of the stats. --HG-- extra : convert_revision : 61c600cd146900c8cc0cf60a9036f2e999a5e244
2005-11-22Major improvements in the graph output code. Mostly adding moreNathan Binkert
options, making existing options more visible and dealing with holes in data better. util/stats/barchart.py: - move the options for BarChart to a base class ChartOptions so they can be more easily set and copied. - add an option to set the chart size (so you can adjust the aspect ratio) - don't do the add_subplot thing, use add_axes directly so we can affect the size of the figure itself to make room for the legend - make the initial array bottom floating point so we don't lose precision - add an option to set the limits on the y axis - use a figure legend instead of an axes legend so we can put the legend outside of the actual chart. Also add an option to set the fontsize of the legend. - initial hack at outputting csv files util/stats/db.py: don't print out an error when the run is missing from the database just return None, the error will be print elsewhere. util/stats/output.py: - make StatOutput derive from ChartOptions so that it's easier to set default chart options. - make the various output functions (graph, display, etc.) take the name of the data as a parameter instead of making it a parameter to __init__. This allows me to create the StatOutput object with generic parameters while still being able to specialize the name after the fact - add support for graph_group and graph_bars to be applied to multiple configuration groups. This results in a cross product of the groups to be generated and used. - flush the html file output as we go so that we can load the file while graphs are still being generated. - make the proxy a parameter to the graph function so the proper system's data can be graphed - for any groups or bars that are completely missing, remove them from the graph. This way, if we decide not to do a set of runs, there won't be holes in the data. - output eps and ps by default in addition to the png. util/stats/profile.py: - clean up the data structures that are used to store the function profile information and try our best to avoid keeping extra data around that isn't used. - make get() return None if a job is missing so we know it was missing rather than the all zeroes thing. - make the function profile categorization stuff total up to 100% - Fixup the x-axis and y-axis labels. - fix the dot file output stuff. util/stats/stats.py: support the new options stuff for StatOutput --HG-- extra : convert_revision : fae35df8c57a36257ea93bc3e0a0e617edc46bb7
2005-11-22Change the set of statistics that are generated when specifying "all"Nathan Binkert
--HG-- extra : convert_revision : 8b803b1b3bbec0b35b6805593b0dd598e5b519cf
2005-11-22make the NUMCPUS parameter always refer to the total number of cpusNathan Binkert
on the test system. add an option for pio_delay_write to run.py util/stats/stats.py: full0 -> run0 due to run.py change sim_ticks doesn't make sense with tick = ps, so use one of the cpu's numCycles paramter --HG-- extra : convert_revision : db9dbe014549d823edc10395f5241db5e907df01
2005-11-02Merge zizzer:/bk/m5Ali Saidi
into zeep.eecs.umich.edu:/z/saidi/work/m5 --HG-- extra : convert_revision : 3cc23080d19cc464a8ba7c1c93b6e5d45af7d463
2005-11-02Change the output of stability info a little bitAli Saidi
--HG-- extra : convert_revision : bc467a40593234a1e3b694a741b4a7c2154a95ea
2005-10-21Major cleanup of the statistics handling codeNathan Binkert
util/stats/db.py: Build a result object as the result of a query operation so it is easier to populate and contains a bit more information than just a big dict. Also change the next level data into a matrix instead of a dict of dicts. Move the "get" function into the Database object. (The get function is used by the output parsing function as the interface for accessing backend storage, same interface for profile stuff.) Change the old get variable to the method variable, it describes how the get works, (whether using sum, stdev, etc.) util/stats/display.py: Clean up the display functions, mostly formatting. Handle values the way they should be now. util/stats/info.py: Totally re-work how values are accessed from their data store. Access individual values on demand instead of calculating everything and passing up a huge result from the bottom. This impacts the way that proxying works, and in general, everything is now esentially a proxy for the lower level database. Provide new operators: unproxy, scalar, vector, value, values, total, and len which retrieve the proper result from the object they are called on. Move the ProxyGroup stuff (proxies of proxies!) here from the now gone proxy.py file and integrate the shared parts of the code. The ProxyGroup stuff allows you to write formulas without specifying the statistics until evaluation time. Get rid of global variables! util/stats/output.py: Move the dbinfo stuff into the Database itself. Each source should have it's own get() function for accessing it's data. This get() function behaves a bit differently than before in that it can return vectors as well, deal with these vectors and with no result conditions better. util/stats/stats.py: the info module no longer has the source global variable, just create the database source and pass it around as necessary --HG-- extra : convert_revision : 8e5aa228e5d3ae8068ef9c40f65b3a2f9e7c0cff
2005-10-18Default jobfile for statsNathan Binkert
util/stats/stats.py: Make the default jobfile Test.py in the current directory add the -J flag to tell it not to use a jobfile --HG-- extra : convert_revision : 5cf5bb2f32ed9c9701a94eabc9b2a538581acf94
2005-09-17Totally re-work the way that jobfiles are done so there is moreNathan Binkert
information that can be used for other aspects of sending jobs. New graphing output stuff with matplotlib. util/pbs/job.py: Shuffle code around and create the JobDir class which encapsulates all of the functionality needed for making, organizing, and cleaning a job directory. Better status output util/pbs/jobfile.py: Majory re-working of the jobfile code. A job file now consists of several objects that describe how jobs should be run, it includes information about checkpoints, and graphing. util/pbs/send.py: use the new jobfile code. deal with the 15 character limit of pbs by truncating the name and using the raj hack. util/stats/db.py: fix the __str__ function for nodes provide __getitem__ for the Database class util/stats/stats.py: use the jobfile stuff to figure out what the proper naming and organziation of the graphs should be. move all output code to output.py, get rid of ploticus and use matplotlib --HG-- rename : util/categories.py => util/stats/categories.py extra : convert_revision : 0d793cbf6ad9492290e8ec875ce001c84095e1f7
2005-06-05Cleanup copyright stuff. Add our copyright files thatNathan Binkert
are ours arch/alpha/alpha_linux_process.hh: arch/alpha/alpha_tru64_process.hh: base/loader/object_file.cc: base/loader/object_file.hh: sim/process.cc: sim/process.hh: remove $Id$ string cpu/ozone/cpu.cc: cpu/ozone/cpu_impl.hh: cpu/ozone/ea_list.cc: cpu/ozone/ea_list.hh: kern/linux/sched.hh: kern/linux/thread_info.hh: Add M5 Copyright cpu/trace/opt_cpu.cc: dev/rtcreg.h: nit kern/linux/aligned.hh: kern/linux/hwrpb.hh: util/oprofile-top.py: util/stats/db.py: util/stats/dbinit.py: util/stats/display.py: util/stats/info.py: util/stats/print.py: util/stats/stats.py: Cleanup copyright --HG-- extra : convert_revision : 4274e9121ef7543e0b3999b31e935edb19c54d46
2005-06-05added copyrightAli Saidi
kern/linux/sched.hh: kern/linux/thread_info.hh: got rid of everything but exactly what we needed util/categories.py: newest version from one of my repositories --HG-- extra : convert_revision : c4328e5938d421d60493c0da07022bfa9e92c404
2005-04-06full_system isn't a useful parameter anymore, get rid of it.Nathan Binkert
python/m5/objects/Root.mpy: sim/universe.cc: util/stats/stats.py: full_system isn't a useful parameter --HG-- extra : convert_revision : 557091be1faa3cf121c55102aba4e6f4c1bd45ef
2005-03-24Update so that statistics can be plotted correctlyRon Dreslinski
util/stats/stats.py: Changed some stuff for graphing purposes: full_cpu is now full0 frequencies are now s,m,f,q not s,6,8,q L2 is now l2 etherdev is now etherdev0 May want to consider fact that NAT box should be the sum of etherdev0 and etherdev1 (not in script yet) --HG-- extra : convert_revision : 39a7d0bcf1b9354a77c12de5981e8277408ba791
2005-03-23update profile code to use shared categories fileAli Saidi
util/stats/stats.py: add database command to help --HG-- extra : convert_revision : 5d77e9d3e142f884d08d34b730c385c41c6bcafb
2005-01-19added total bytes/bandwidth/packets formulas to nicsAli Saidi
cleaned up stability code and wrote some better help for stats.py fixed sample bug in info.py dev/ns_gige.cc: dev/ns_gige.hh: dev/sinic.cc: dev/sinic.hh: add total bandwidth/packets/bytes stats util/stats/info.py: fixed samples bug util/stats/stats.py: cleaned up stability code and wrote a bit better help --HG-- extra : convert_revision : cae06f4fac744d7a51ee0909f21f03509151ea8f
2005-01-18Ability to check formulasAli Saidi
--HG-- extra : convert_revision : 68a2a19cceb4a8cf8a2798ee5c019d25c0fca3cc
2005-01-18now really done with stability stats stuffAli Saidi
--HG-- extra : convert_revision : 9bdbcec972f5d06e3ecd99c418fcccfaef7f6f3a
2005-01-18finished stability stats optionAli Saidi
--HG-- extra : convert_revision : 3ad0a143f79b116c5b18321846653d627429882a
2005-01-14added stats code to check stabilityAli Saidi
util/stats/db.py: added working listticks (for printing) and retticks(for using in python) code util/stats/stats.py: added stability function that checks if all samples are within 10% of mean. --HG-- extra : convert_revision : 7eb1714db75e456f248fe7cae73db1c57642947d
2005-01-14automerged had issues with the options.XXXXX in stats.pyAli Saidi
--HG-- extra : convert_revision : 44db6642c1fb46eb515acd5a6d8465859a40891a
2005-01-13fix a display bugAli Saidi
add option to limit results to a set of ticks fix ticks code to work util/stats/info.py: change samples -> ticks and pass all parameters util/stats/stats.py: add option to select a set of ticks and fix display bug --HG-- extra : convert_revision : eca80a8c6bb75cf82bf1624f3d0170690b2928af
2005-01-12More graph output junkNathan Binkert
util/stats/stats.py: Add the graphing output for 6GHz and 8GHz runs --HG-- extra : convert_revision : fae3763c213e4b839735761bf91fa37e1b4f343c
2004-11-18stats python fixes for dealing with vectors better. graph tweakingNathan Binkert
ipkb stat and formulas from the command line. util/stats/info.py: no need to raise an attribute error if two values aren't found in the exact same set of runs. Would be good to check that each run is the same though. util/stats/stats.py: more graph tweaking command to execute a formula from the command line. add interrupts per kilobyte of data --HG-- extra : convert_revision : 78d6b14d340d08edcbc69e4c1c5a4c1dd9bb10dd
2004-11-17Fix some commands.Nathan Binkert
util/stats/stats.py: we only need the system if we're issuing one of the commands that uses a stored formula. --HG-- extra : convert_revision : d129a00eeba46a03f7d600922d679aa0f43636be
2004-11-15Fix more of the stats python stuffNathan Binkert
util/stats/info.py: Make the binnings stuff work again. util/stats/stats.py: small patch for graphing make it so we can print out bins for the stat command --HG-- extra : convert_revision : c0279ac7030fd5146dd00801baa41e7baf97d1f4
2004-11-14update graph generating codeNathan Binkert
util/stats/stats.py: tweak the graphing stuff for the new configurations we have. add more graph types. nsgige -> etherdev deal with memory hierarchy change by using L2 instead of L3 --HG-- extra : convert_revision : 55362e79d9f8d0d68aa08129f5af944b378a9f4c
2004-09-10fix the options stuffNathan Binkert
util/stats/stats.py: get the options from the options struct now gratuitously change the output directory for graphs. --HG-- extra : convert_revision : 468f34bdc2c8b5fc3a393eaa4da4ec288e35c8c7
2004-08-09Totally re-do/reorganize the python part of the statistics codeNathan Binkert
Make the database creation/removal/cleanup code use python Make formulas work with the database Add support to do some graphing, but needs more work Still need to work on vectors, 2d vectors, dists and vectordists --HG-- extra : convert_revision : 1a88320dcc036a3751e8a036770766dce76a568c