Profiling and tracing dynamic library usage via interposition

作者: Timothy W. Curry

DOI:

关键词:

摘要: Run-time resolution of library functions provides a rich and powerful opportunity to collect workload profiles function/parameter trace information without source, special compilation, or linking. This can be accomplished by having the linker resolve wrapper that statistics before after calling real function, leaving both application unaltered. The set dynamic libraries is quite large including interesting like libc (the C Operating System interface), graphics, database, network interface, many more. Coupling this with ability simultaneously multiple processes on processors covering client server yields tremendous feedback. We have found amount detailed gathered has been useful in stages project life-cycle design, development, tuning, sustaining hardware, libraries, applications. This paper first contrasts our extended view interposition other profiling, tracing, interposing techniques. followed description sample output tools developed around view; discussion obstacles encountered developing tools; finally, anticipated unanticipated ways those applied.

参考文章(6)
John Peyton, Ken Arnold, A C user's guide to ANSI C Prentice-Hall, Inc.. ,(1992)
Glenn S. Fowler, David G. Korn, Y. Huang, Herman C. Rao, A User-Level Replicated File System. USENIX Summer. pp. 279- 290 ,(1993)
Thomas Ball, James R. Larus, Optimally profiling and tracing programs symposium on principles of programming languages. pp. 59- 70 ,(1992) , 10.1145/143165.143180
Michael B. Jones, Interposition agents: transparently interposing user code at the system interface symposium on operating systems principles. ,vol. 27, pp. 80- 93 ,(1993) , 10.1145/168619.168626
Brian W. Kernighan, Dennis M. Ritchie, The C Programming Language ,(1978)
Larry Wall, Mike Loukides, Programming Perl ,(1991)