MCPcopy Create free account
hub / github.com/async-profiler/async-profiler / writeSettings

Method writeSettings

src/flightRecorder.cpp:631–691  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

629 }
630
631 void writeSettings(Buffer* buf, Arguments& args) {
632 assert(args._cstack < sizeof(SETTING_CSTACK) / sizeof(char*));
633 writeStringSetting(buf, T_ACTIVE_RECORDING, "version", PROFILER_VERSION);
634 writeStringSetting(buf, T_ACTIVE_RECORDING, "engine", Profiler::instance()->_engine->type());
635 writeStringSetting(buf, T_ACTIVE_RECORDING, "cstack", SETTING_CSTACK[args._cstack]);
636 writeStringSetting(buf, T_ACTIVE_RECORDING, "clock", TSC::enabled() ? "tsc" : "monotonic");
637 writeStringSetting(buf, T_ACTIVE_RECORDING, "event", args._event);
638 writeStringSetting(buf, T_ACTIVE_RECORDING, "filter", args._filter);
639 writeStringSetting(buf, T_ACTIVE_RECORDING, "begin", args._begin);
640 writeStringSetting(buf, T_ACTIVE_RECORDING, "end", args._end);
641 writeListSetting(buf, T_ACTIVE_RECORDING, "include", args._include);
642 writeListSetting(buf, T_ACTIVE_RECORDING, "exclude", args._exclude);
643 writeIntSetting(buf, T_ACTIVE_RECORDING, "jstackdepth", args._jstackdepth);
644 writeIntSetting(buf, T_ACTIVE_RECORDING, "jfropts", args._jfr_options);
645 writeIntSetting(buf, T_ACTIVE_RECORDING, "chunksize", args._chunk_size);
646 writeIntSetting(buf, T_ACTIVE_RECORDING, "chunktime", args._chunk_time);
647 writeIntSetting(buf, T_ACTIVE_RECORDING, "memlimit", args._mem_limit);
648
649 char str[256];
650 writeStringSetting(buf, T_ACTIVE_RECORDING, "features", getFeaturesString(str, sizeof(str), args._features));
651
652 writeBoolSetting(buf, T_EXECUTION_SAMPLE, "enabled", args._event != NULL);
653 if (args._event != NULL) {
654 writeIntSetting(buf, T_EXECUTION_SAMPLE, "interval", args._interval);
655 writeBoolSetting(buf, T_EXECUTION_SAMPLE, "alluser", args._alluser);
656 }
657 if (args._wall >= 0) {
658 writeIntSetting(buf, T_EXECUTION_SAMPLE, "wall", args._wall);
659 writeBoolSetting(buf, T_EXECUTION_SAMPLE, "nobatch", args._nobatch);
660 }
661 if (args._nativemem >= 0) {
662 writeIntSetting(buf, T_MALLOC, "nativemem", args._nativemem);
663 }
664 if (args._nativelock >= 0) {
665 writeIntSetting(buf, T_NATIVE_LOCK, "nativelock", args._nativelock);
666 }
667
668 writeBoolSetting(buf, T_ALLOC_IN_NEW_TLAB, "enabled", args._alloc >= 0);
669 writeBoolSetting(buf, T_ALLOC_OUTSIDE_TLAB, "enabled", args._alloc >= 0);
670 if (args._alloc >= 0) {
671 writeIntSetting(buf, T_ALLOC_IN_NEW_TLAB, "alloc", args._alloc);
672 writeBoolSetting(buf, T_ALLOC_IN_NEW_TLAB, "live", args._live);
673 }
674
675 writeBoolSetting(buf, T_MONITOR_ENTER, "enabled", args._lock >= 0);
676 writeBoolSetting(buf, T_THREAD_PARK, "enabled", args._lock >= 0);
677 if (args._lock >= 0) {
678 writeIntSetting(buf, T_MONITOR_ENTER, "lock", args._lock);
679 }
680
681 writeBoolSetting(buf, T_METHOD_TRACE, "enabled", !args._trace.empty());
682 writeListSetting(buf, T_METHOD_TRACE, "trace", args._trace);
683
684 writeBoolSetting(buf, T_PROCESS_SAMPLE, "enabled", args._proc > 0);
685 if (args._proc > 0) {
686 writeIntSetting(buf, T_PROCESS_SAMPLE, "proc", args._proc);
687 }
688

Callers

nothing calls this directly

Calls 3

emptyMethod · 0.80
hasDebugSymbolsMethod · 0.80
typeMethod · 0.45

Tested by

no test coverage detected