Skip to content
Permalink
Browse files

update docs

  • Loading branch information...
carl-mastrangelo committed Jul 7, 2019
1 parent 3b913d7 commit 89d64df185ff64f5690526ca8b80274e4d52c62f
Showing with 20 additions and 2 deletions.
  1. +20 −2 README.md
  2. BIN doc/perfmark.png
  3. 0 { → doc}/perfmark.svg
  4. BIN doc/screenshot.png
@@ -1,6 +1,6 @@
# PerfMark

![PerfMark Hummingbird](perfmark.svg "PerfMark")
![PerfMark Hummingbird](doc/perfmark.png "PerfMark")

PerfMark is a low-overhead, manually-instrumented, tracing library for Java. Users can add the
tracing function calls to their code to see how long each part takes.
@@ -14,7 +14,7 @@ tracing function calls to their code to see how long each part takes.
* **Dynamically Enabled**: PerfMark can be enabled or disabled at runtime. When disabled,
PerfMark has *zero overhead*, taking advantage of the JIT compiler to remove the tracing.

* **Inter-thread Communication**: Existing profilers have difficultly expressing which thread
* **Inter-thread Communication**: Existing profilers have difficulty expressing which thread
wakes up and executes work on another thread. PerfMark allows users to express this
relationship explicitly, making for a clear picture of how code flows.

@@ -74,6 +74,24 @@ Future<Response> buildResponse() {
}
```

To view the traces in your browser, generate the HTML:

```java
PerfMark.setEnabled(true);
PerfMark.startTask("My Task");
} finally {
PerfMark.stopTask("My Task");
}
TraceEventViewer.writeTraceHtml();
}
```

The output looks like:

![PerfMark Hummingbird](doc/screenshot.png "PerfMark")



## Versioning and API Stability

PerfMark uses Semantic Versioning, and thus will not break existing APIs within a minor version
BIN +64.2 KB doc/perfmark.png
Binary file not shown.
File renamed without changes.
BIN +173 KB doc/screenshot.png
Binary file not shown.

0 comments on commit 89d64df

Please sign in to comment.
You can’t perform that action at this time.