Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wavesoft/karbon
Modular application profiler based on strace/systemtap
https://github.com/wavesoft/karbon
Last synced: about 2 months ago
JSON representation
Modular application profiler based on strace/systemtap
- Host: GitHub
- URL: https://github.com/wavesoft/karbon
- Owner: wavesoft
- License: gpl-3.0
- Created: 2015-07-01T12:22:24.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2016-04-25T12:39:00.000Z (over 8 years ago)
- Last Synced: 2023-03-13T20:41:03.555Z (almost 2 years ago)
- Language: Java
- Size: 1.3 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Karbon Trace file Analyser
Karbon is a Graphical Profiler based on trace files produced by `strace` or `systemtap`. It has a modular design, allowing individual analysis plug-ins to be registered and used at any time.
Karbon is perfect for identifying performance issues related to **System Calls ONLY**. It is completely blind regarding the application code. It *can not* resolve symbols, *nor* detect software-induced performance penalties.
This means that after identifying the 'hot' system calls you will still need to go through your code and identify were the problem is located.
## Creating a trace file
Karbon works with most of trace file formats, however it's most optimal to create them with the following command line:
```
strace -TtttfFvx -s 256 -o trace.dmp -- /path/to/application args ...
```If you prefer, you can live-trace the application through the Karbon GUI.
## Running Karbon
You will need __Java Runtime__ installed to your system. In most of the cases you will only need to double-click the `.jar`, but if you have trouble, try running it from the command-line:
```
java -jar Karbon.jar
```### Current Plugins
The following list enumerates all the currently available plug-ins and their use:
- **Classifier** : Traces all system calls that perform operations on file descriptors, such as Filesystem (`fopen`,`fclose` etc.), Memory (`mmap`, `mprotect` etc.), Network (`socket`,`sockopt` ...) or Misc (`pipe`, `socketpair` etc.).
- **System Calls** : An overview plug-in that summarises the statistics from all system calls, such as error rate, time spent on errors and overall time spent.
- **Socket Tracker** : A specialised plug-in that tracks socket creation and actions. This plugin also resolves the endpoint details (IP address or UNIX socket) and the traffic through them.
- **File Tracker** : A specialised plug-in that tracks individual files accessed by the application, including detailed I/O statistics.
- **Hotspot Tracker** : A specialised plug-in that identifies operations that take too much time to complete, including System Calls, Filesystem Operations and Processes.
- **Process Tracker** : A specialised plug-in that tracks process creation and behaviour. It constructs a comprehensive process tree and evolution graph in order to identify fork-related problems.
- **Time Utilisation** : A specialised plug-in that summarises the time spent in various operations, such as File I/O or Network I/O.## License
Karbon - Tracefile Analyzer GUI
Copyright (C) 2010-2015 Ioannis CharalampidisThis program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.You should have received a copy of the GNU General Public License
along with this program. If not, see .