Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

YaSuenag/gcjfrlog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

24 Commits

Repository files navigation

gcjfrlog CodeQL

gcjfrlog is Java agent to gather GC information via JFR Event Sreaming and to post them as JSON document via HTTP.

Requirements

JDK 14 or later

How to build

$ mvn package

How to use

Examples

Post events to Elasticsearch

$ java -javaagent:/path/to/gcjfrlog.jar=uri=http://localhost:9200/gcjfrlog-%y-%m/%h,label=app ...

Start agent

Start log shipping since process start

Set path to gcjfrlog-<version>.jar to -javaagent

$ java -javaagent:/path/to/gcjfrlog.jar=<option> ...

Attach gcjfrlog to existing process

You need to escape double-quote.

$ jcmd <PID> JVMTI.agent_load \"/path/tp/gcjfrlog.jar=<option>\"

Option

  • uri mandatory option
    • URI to push
  • label
    • label field would be set if this value is set
  • connect_timeout
    • Connection timeout in millis
  • request_timeout
    • HTTP request timeout in millis

Format strings

You can use format strings in uri.

  • %h
    • hostname
  • %l
    • label
  • %y
    • year (yyyy)
  • %m
    • month (mm)
  • %d
    • day (dd)

JFR events which are handled

  • jdk.GCPhasePause
  • jdk.PromotionFailed
  • jdk.EvacuationFailed
  • jdk.ConcurrentModeFailure
  • jdk.MetaspaceOOM
  • jdk.GCHeapSummary
  • jdk.MetaspaceSummary
  • jdk.GarbageCollection

License

The GNU Lesser General Public License, version 3.0

About

JFR event shipper for GC

Topics

Resources

License

Stars

Watchers

Forks

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /