mutter/clutter
Robert Bragg 0057755854 profiling: Adds initial UProf support across clutter
UProf is a small library that aims to help applications/libraries provide
domain specific reports about performance.  It currently provides high
precision timer primitives (rdtsc on x86) and simple counters, the ability
to link statistics between optional components at runtime and makes report
generation easy.

This adds initial accounting for:
- Total mainloop time
- Painting
- Picking
- Layouting
- Idle time

The timing done by uprof is of wall clock time. It's not based on stochastic
samples we simply sample a counter at the start and end.  When dealing with
the complexities of GPU drivers and with various kinds of IO this form of
profiling can be quite enlightening as it will be able to represent where
your application is blocking unlike tools such as sysprof.

To enable uprof accounting you must configure Clutter with --enable-profile
and have uprof-0.2 installed from git://git.moblin.org/uprof

If you want to see a report of statistics when Clutter applications exit you
should export CLUTTER_PROFILE_OUTPUT_REPORT=1 before running them.

Just a final word of caution; this stuff is new and the manual nature of
adding uprof instrumentation means it is prone to some errors when modifying
code.  This just means that when you question strange results don't rule out
a mistake in the instrumentation.  Obviously though we hope the benfits out
weigh e.g.  by focusing on very key stats and by having automatic reporting.
2010-01-08 20:19:49 +00:00
..
cogl Covert stb_image.c to Unix format 2010-01-05 18:02:29 +00:00
eglnative Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
eglx Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
fruity Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
glx profiling: Adds initial UProf support across clutter 2010-01-08 20:19:49 +00:00
json build: Use QUIET_GEN when building ClutterJson GIR 2009-10-18 17:11:42 +01:00
osx osx: Fix a warning on Snow Leopard 2009-11-06 11:48:42 +00:00
sdl Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
win32 win32: Remove the check for GL 1.2 2009-11-13 17:23:13 +00:00
x11 x11: Switch back to RGB visuals by default 2010-01-08 15:09:21 +00:00
clutter-actor.c profiling: Adds initial UProf support across clutter 2010-01-08 20:19:49 +00:00
clutter-actor.h Merge branch 'internal-flag' into ebassi-next 2009-12-20 17:33:51 +00:00
clutter-alpha.c docs: Document the AnimationMode definition 2009-11-13 15:01:17 +00:00
clutter-alpha.h Merge branch 'cogl-float' 2009-01-20 18:47:50 +00:00
clutter-animatable.c [animatable] Allow validation in ::animate_property 2009-05-27 13:01:31 +01:00
clutter-animatable.h [animatable] Allow validation in ::animate_property 2009-05-27 13:01:31 +01:00
clutter-animation.c animation: Keep a weak reference on actors 2009-11-24 16:59:24 +00:00
clutter-animation.h [animation] Add Animation::update() 2009-08-25 12:16:41 +01:00
clutter-backend.c profiling: Adds initial UProf support across clutter 2010-01-08 20:19:49 +00:00
clutter-backend.h [backends] Remove the idea of offscreen stages from all backends 2009-10-16 18:58:47 +01:00
clutter-behaviour-depth.c Fix compiler warnings 2009-01-23 13:08:46 +00:00
clutter-behaviour-depth.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-behaviour-ellipse.c Remove the last few fixed-point entry points 2009-06-19 16:38:35 +01:00
clutter-behaviour-ellipse.h Remove the last few fixed-point entry points 2009-06-19 16:38:35 +01:00
clutter-behaviour-opacity.c [animation] Move the alpha value to floating point 2009-01-20 16:42:49 +00:00
clutter-behaviour-opacity.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-behaviour-path.c Add gobject-introspection annotations 2009-02-20 12:09:07 +00:00
clutter-behaviour-path.h docs: Fix the 'Since' annotation for some functions 2009-11-19 11:51:21 +00:00
clutter-behaviour-rotate.c Remove the last few fixed-point entry points 2009-06-19 16:38:35 +01:00
clutter-behaviour-rotate.h Remove the last few fixed-point entry points 2009-06-19 16:38:35 +01:00
clutter-behaviour-scale.c Remove the last few fixed-point entry points 2009-06-19 16:38:35 +01:00
clutter-behaviour-scale.h Remove the last few fixed-point entry points 2009-06-19 16:38:35 +01:00
clutter-behaviour.c behaviour: Implement the implicit alpha parsing 2009-11-06 11:39:30 +00:00
clutter-behaviour.h [animation] Move the alpha value to floating point 2009-01-20 16:42:49 +00:00
clutter-bezier.c [Automatic fixed-to-float.sh change] Applies a number fixed to float patches 2009-01-20 16:20:54 +00:00
clutter-bezier.h Bug 1252 - Merge ClutterBehaviourPath and ClutterBehaviourBspline 2008-12-05 13:13:37 +00:00
clutter-bin-layout.c bin-layout: Add get_child_meta_type() override 2009-11-05 12:26:10 +00:00
clutter-bin-layout.h [layout, docs] Clean up BinLayout documentation 2009-10-14 11:31:29 +01:00
clutter-binding-pool.c Pass the interned string value to the binding callback 2009-11-17 21:32:17 +00:00
clutter-binding-pool.h Add declaration of clutter_binding_pool_get_type() 2009-01-14 15:03:30 +00:00
clutter-box-layout.c box-layout: Remove the allocations hash table 2009-12-23 10:36:46 +00:00
clutter-box-layout.h box-layout: Add knobs for controlling animations 2009-12-13 01:15:02 +00:00
clutter-box.c box: Add relative packing methods 2009-12-04 16:54:22 +00:00
clutter-box.h box: Add relative packing methods 2009-12-04 16:54:22 +00:00
clutter-cairo-texture.c [ClutterCairoTexture] Use the right component ordering when uploading data 2009-06-15 12:41:13 +01:00
clutter-cairo-texture.h [cairo-texture] Document redrawing behavior 2009-05-14 15:53:59 +01:00
clutter-child-meta.c Add gobject-introspection annotations 2009-02-20 12:09:07 +00:00
clutter-child-meta.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-clone.c clone: Set :source as CONSTRUCT 2009-10-22 15:51:06 +01:00
clutter-clone.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-color.c color: Fix HLS-to-RGB conversion 2009-10-26 16:29:31 +00:00
clutter-color.h [misc] Update headers #endif comments 2009-06-29 21:37:02 +02:00
clutter-container.c [container] Remove the unused 'object' variable in destroy_child_meta 2009-09-22 17:55:04 +01:00
clutter-container.h [docs] Fixes for the API reference 2009-05-28 17:18:13 +01:00
clutter-debug.h [debug] Adds a dump-pick-buffers CLUTTER_DEBUG option 2009-09-24 21:41:49 +01:00
clutter-deprecated.h Fix copy-and-paste errors in the deprecation macros 2009-07-21 09:22:38 +01:00
clutter-enum-types.c.in Use g_once when registering enumeration types 2009-05-29 12:40:23 +01:00
clutter-enum-types.h.in 2007-08-20 Emmanuele Bassi <ebassi@openedhand.com> 2007-08-20 20:16:15 +00:00
clutter-event.c Add clutter_get_current_event 2009-12-10 22:20:36 +00:00
clutter-event.h Add clutter_get_current_event 2009-12-10 22:20:36 +00:00
clutter-feature.c Hide clutter_context_get_default() 2009-06-18 14:20:28 +01:00
clutter-feature.h 2008-10-30 Emmanuele Bassi <ebassi@linux.intel.com> 2008-10-30 17:04:34 +00:00
clutter-fixed-layout.c [layout] Update FixedLayout 2009-10-14 11:31:30 +01:00
clutter-fixed-layout.h [layout, docs] Document FixedLayout 2009-10-14 11:31:29 +01:00
clutter-fixed.c [docs] Remove ClutterFixed from the documentation 2009-03-10 12:38:04 +00:00
clutter-fixed.h [fixed] Remove ClutterFixed API 2009-03-10 12:38:04 +00:00
clutter-flow-layout.c flow-layout: Use the natural size 2009-12-03 15:38:05 +00:00
clutter-flow-layout.h [layout] Remove FlowLayout:wrap 2009-10-14 11:31:30 +01:00
clutter-frame-source.c Count timeline frames using the FPS instead of an integer interval 2009-03-16 15:40:18 +00:00
clutter-frame-source.h Count timeline frames using the FPS instead of an integer interval 2009-03-16 15:40:18 +00:00
clutter-group.c actor: Add a NO_LAYOUT flag for actors 2009-12-07 14:14:35 +00:00
clutter-group.h [group] avoid double evaluation of arguments in clutter_group_add 2009-04-08 18:19:46 +01:00
clutter-id-pool.c [clutter-id-pool] Also warn if the ID refers to a deleted actor 2009-10-07 12:53:19 +01:00
clutter-id-pool.h 2008-10-30 Emmanuele Bassi <ebassi@linux.intel.com> 2008-10-30 17:04:34 +00:00
clutter-interval.c Simple coding style fix for commit c5551184 2009-10-16 15:57:21 +01:00
clutter-interval.h [animation] Allow registering custom progress function 2009-01-08 11:15:09 +00:00
clutter-json.h.in [json] Include only json-glib.h 2009-08-12 15:31:16 +01:00
clutter-keysyms-table.h 7 small miscellaneous fixes 2008-06-10 06:37:46 +00:00
clutter-keysyms.h 2008-08-04 Emmanuele Bassi <ebassi@openedhand.com> 2008-08-05 10:54:40 +00:00
clutter-layout-manager.c layout-manager: Document the animation support 2009-12-23 10:37:10 +00:00
clutter-layout-manager.h layout: Let begin_animation() return the Alpha 2009-12-13 01:23:54 +00:00
clutter-layout-meta.c [layout] Add LayoutMeta 2009-10-14 11:31:26 +01:00
clutter-layout-meta.h layout: Add padding to LayoutMeta 2009-12-02 11:36:25 +00:00
clutter-list-model.c Fix chain-up in clutter_list_model_dispose() 2009-05-12 16:31:41 +01:00
clutter-list-model.h [list-model] Make ClutterListModel subclassable 2009-02-14 11:31:00 +00:00
clutter-main.c profiling: Adds initial UProf support across clutter 2010-01-08 20:19:49 +00:00
clutter-main.h Remove clutter_set_default_text_direction() 2009-12-07 19:00:55 +00:00
clutter-marshal.list Added ClutterText::insert-text and ClutterText::delete-text signals 2010-01-04 12:01:51 +00:00
clutter-master-clock.c master-clock: Take a reference before advancing timelines 2010-01-04 11:30:28 +00:00
clutter-master-clock.h ensure next iteration 2009-07-10 11:38:42 +01:00
clutter-media.c [media] Add an API to play a subtitle file along with the media 2010-01-04 16:25:48 +01:00
clutter-media.h [media] Add an API to play a subtitle file along with the media 2010-01-04 16:25:48 +01:00
clutter-model-private.h [model] Add a private row mutator to ClutterModelIter 2009-05-05 20:18:28 +01:00
clutter-model.c [docs] Clutter's model implementation is called ClutterListModel 2009-09-10 13:28:54 +01:00
clutter-model.h Add more padding in Model and ModelIter classes 2009-05-20 16:06:09 +01:00
clutter-path.c [path] Add GValue transform functions from and to G_TYPE_STRING 2009-10-07 16:06:26 +01:00
clutter-path.h [path] MOVE_TO and LINE_TO only use a pair of coordinates 2009-10-06 10:43:41 +01:00
clutter-private.h Merge branch 'internal-flag' into ebassi-next 2009-12-20 17:33:51 +00:00
clutter-profile.c profiling: Adds initial UProf support across clutter 2010-01-08 20:19:49 +00:00
clutter-profile.h profiling: Adds initial UProf support across clutter 2010-01-08 20:19:49 +00:00
clutter-rectangle.c Revert "[rectangle] Avoid modifying materials mid scene" 2009-06-30 17:13:38 +01:00
clutter-rectangle.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-score.c Remove usage of the grave accent as quotation mark 2009-03-17 14:13:31 +00:00
clutter-score.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-script-parser.c script: Copy the JSON node in PropertyInfo 2010-01-05 10:55:28 +00:00
clutter-script-private.h behaviour: Implement the implicit alpha parsing 2009-11-06 11:39:30 +00:00
clutter-script.c script: Coding style clean-ups 2009-11-06 14:07:46 +00:00
clutter-script.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-scriptable.c Intern the ClutterScriptable type name 2009-02-26 14:57:58 +00:00
clutter-scriptable.h 2008-10-30 Emmanuele Bassi <ebassi@linux.intel.com> 2008-10-30 17:04:34 +00:00
clutter-shader-types.c Convert gint to GLints in the Shader types wrapper 2009-07-27 15:01:52 +01:00
clutter-shader-types.h [cogl] Remove the COGL{enum,int,uint} typedefs 2009-05-12 14:53:44 +01:00
clutter-shader.c [cogl-shader] Make get_info_log() slightly nicer 2009-06-01 17:40:23 +01:00
clutter-shader.h [shader] Remove deprecated set_uniform_1f() 2009-04-03 12:47:21 +01:00
clutter-stage-manager.c docs: Documentation fixes 2009-10-19 12:01:38 +01:00
clutter-stage-manager.h docs: Annotate StageManager 2009-12-02 11:38:04 +00:00
clutter-stage-window.c [stage] Rework the Stage implementation class 2009-09-08 10:52:58 +01:00
clutter-stage-window.h [stage] Rework the Stage implementation class 2009-09-08 10:52:58 +01:00
clutter-stage.c profiling: Adds initial UProf support across clutter 2010-01-08 20:19:49 +00:00
clutter-stage.h Merge branch 'stage-use-alpha' into ebassi-next 2009-12-20 17:39:12 +00:00
clutter-text.c text: Store the markup attributes separately 2010-01-05 15:00:36 +00:00
clutter-text.h docs: Documentation fixes 2009-10-19 12:01:38 +01:00
clutter-texture.c cogl: deprecate cogl_draw_buffer API and replace with a cogl_framebuffer API 2009-11-26 19:33:14 +00:00
clutter-texture.h [cogl] Remove max_waste argument from Texture ctors 2009-05-23 19:35:19 +01:00
clutter-timeline.c [timeline] Account for clock roll backs between frames 2009-09-16 11:57:57 +01:00
clutter-timeline.h Remove the last few fixed-point entry points 2009-06-19 16:38:35 +01:00
clutter-timeout-interval.c Count timeline frames using the FPS instead of an integer interval 2009-03-16 15:40:18 +00:00
clutter-timeout-interval.h Count timeline frames using the FPS instead of an integer interval 2009-03-16 15:40:18 +00:00
clutter-timeout-pool.c [docs] Fix naming of the interval parameter 2009-03-16 16:56:51 +00:00
clutter-timeout-pool.h Count timeline frames using the FPS instead of an integer interval 2009-03-16 15:40:18 +00:00
clutter-types.h Add ActorBox animation methods 2009-12-11 23:48:58 +00:00
clutter-units.c Merge branch 'bug-1846' 2009-10-16 15:55:05 +01:00
clutter-units.h units: Cache the pixels value inside Units 2009-10-16 15:25:37 +01:00
clutter-util.c * clutter/clutter-texture.c: (texture_get_tile_pixbuf), 2008-02-12 17:17:52 +00:00
clutter-util.h 2008-10-30 Emmanuele Bassi <ebassi@linux.intel.com> 2008-10-30 17:04:34 +00:00
clutter-version.h.in Add run-time version checks 2009-10-30 11:02:35 +00:00
clutter.h layout: Add BoxLayout, a single line layout manager 2009-10-14 11:31:48 +01:00
Makefile.am profiling: Adds initial UProf support across clutter 2010-01-08 20:19:49 +00:00