Tom Zanussi | bcefe12 | 2009-11-25 01:15:49 -0600 | [diff] [blame] | 1 | Perf-Trace-Util version 0.01 |
| 2 | ============================ |
| 3 | |
Arnaldo Carvalho de Melo | 765532c | 2010-12-23 13:10:22 -0200 | [diff] [blame] | 4 | This module contains utility functions for use with perf script. |
Tom Zanussi | bcefe12 | 2009-11-25 01:15:49 -0600 | [diff] [blame] | 5 | |
Tom Zanussi | d1b9377 | 2009-11-25 01:15:50 -0600 | [diff] [blame] | 6 | Core.pm and Util.pm are pure Perl modules; Core.pm contains routines |
| 7 | that the core perf support for Perl calls on and should always be |
| 8 | 'used', while Util.pm contains useful but optional utility functions |
| 9 | that scripts may want to use. Context.pm contains the Perl->C |
| 10 | interface that allows scripts to access data in the embedding perf |
| 11 | executable; scripts wishing to do that should 'use Context.pm'. |
| 12 | |
| 13 | The Perl->C perf interface is completely driven by Context.xs. If you |
| 14 | want to add new Perl functions that end up accessing C data in the |
| 15 | perf executable, you add desciptions of the new functions here. |
| 16 | scripting_context is a pointer to the perf data in the perf executable |
| 17 | that you want to access - it's passed as the second parameter, |
| 18 | $context, to all handler functions. |
| 19 | |
| 20 | After you do that: |
| 21 | |
| 22 | perl Makefile.PL # to create a Makefile for the next step |
| 23 | make # to create Context.c |
| 24 | |
| 25 | edit Context.c to add const to the char* file = __FILE__ line in |
| 26 | XS(boot_Perf__Trace__Context) to silence a warning/error. |
| 27 | |
| 28 | You can delete the Makefile, object files and anything else that was |
| 29 | generated e.g. blib and shared library, etc, except for of course |
| 30 | Context.c |
| 31 | |
| 32 | You should then be able to run the normal perf make as usual. |
| 33 | |
Tom Zanussi | bcefe12 | 2009-11-25 01:15:49 -0600 | [diff] [blame] | 34 | INSTALLATION |
| 35 | |
Arnaldo Carvalho de Melo | 765532c | 2010-12-23 13:10:22 -0200 | [diff] [blame] | 36 | Building perf with perf script Perl scripting should install this |
Tom Zanussi | bcefe12 | 2009-11-25 01:15:49 -0600 | [diff] [blame] | 37 | module in the right place. |
| 38 | |
Tom Zanussi | 8ea339a | 2009-11-30 01:18:49 -0600 | [diff] [blame] | 39 | You should make sure libperl and ExtUtils/Embed.pm are installed first |
| 40 | e.g. apt-get install libperl-dev or yum install perl-ExtUtils-Embed. |
Tom Zanussi | bcefe12 | 2009-11-25 01:15:49 -0600 | [diff] [blame] | 41 | |
| 42 | DEPENDENCIES |
| 43 | |
| 44 | This module requires these other modules and libraries: |
| 45 | |
Tom Zanussi | d1b9377 | 2009-11-25 01:15:50 -0600 | [diff] [blame] | 46 | None |
Tom Zanussi | bcefe12 | 2009-11-25 01:15:49 -0600 | [diff] [blame] | 47 | |
| 48 | COPYRIGHT AND LICENCE |
| 49 | |
Tom Zanussi | bcefe12 | 2009-11-25 01:15:49 -0600 | [diff] [blame] | 50 | Copyright (C) 2009 by Tom Zanussi <tzanussi@gmail.com> |
| 51 | |
| 52 | This library is free software; you can redistribute it and/or modify |
| 53 | it under the same terms as Perl itself, either Perl version 5.10.0 or, |
| 54 | at your option, any later version of Perl 5 you may have available. |
| 55 | |
| 56 | Alternatively, this software may be distributed under the terms of the |
| 57 | GNU General Public License ("GPL") version 2 as published by the Free |
| 58 | Software Foundation. |
| 59 | |