| 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 |
nothing calls this directly
no test coverage detected