[
https://issues.apache.org/jira/browse/CASSANDRA-21730?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18123437#comment-18123437
]
Maxim Muzafarov commented on CASSANDRA-21730:
---------------------------------------------
{code:java}
public class AsyncProfilerRestrictedKernelParamsTest
{
private static final String testOutputPath = FileUtils.getTempDir().path();
private static class RestrictedKernelParamsCheck extends
StartupChecks.AsyncProfilerKernelParamsCheck
{
@Override
public int readPerfEventParanoid()
{
return 2;
}
@Override
public int readKptrRestrict()
{
return 1;
}
}
private AsyncProfilerService profiler;
private File testOutputFile;
@BeforeClass
public static void setUpClass()
{
DatabaseDescriptor.daemonInitialization();
}
@Before
public void setUp()
{
ASYNC_PROFILER_ENABLED.setBoolean(true);
testOutputFile = new File(testOutputPath, UUID.randomUUID().toString());
AsyncProfilerService.reset();
profiler = AsyncProfilerService.instance(testOutputPath, false, new
RestrictedKernelParamsCheck());
}
@After
public void tearDown()
{
try
{
profiler.stop(Map.of(ASYNC_PROFILER_STOP_OUTPUT_FILE_NAME_PARAM,
testOutputFile.name()));
testOutputFile.deleteIfExists();
}
catch (Exception e)
{
// ignore
}
}
@Test
public void testStartWithRestrictedKernelParamsDoesNotFailOnKernelCheck()
{
Map<String, String> startParameters =
Map.of(ASYNC_PROFILER_START_EVENTS_PARAM, cpu.name(),
ASYNC_PROFILER_START_OUTPUT_FORMAT_PARAM, flamegraph.name(),
ASYNC_PROFILER_START_DURATION_PARAM, "10s",
ASYNC_PROFILER_START_OUTPUT_FILE_NAME_PARAM, testOutputFile.name());
try
{
profiler.start(startParameters);
}
catch (IllegalStateException e)
{
assertFalse("start() must not fail on restricted kernel params: " +
e.getMessage(),
e.getMessage().contains("Kernel symbols are
unavailable"));
}
}
} {code}
> Async-profiler should fallback into itimer/ctimer in containers
> ---------------------------------------------------------------
>
> Key: CASSANDRA-21730
> URL: https://issues.apache.org/jira/browse/CASSANDRA-21730
> Project: Apache Cassandra
> Issue Type: Bug
> Reporter: Maxim Muzafarov
> Priority: Normal
>
> When kernel.perf_event_paranoid > 1 or kernel.kptr_restrict != 0,
> AsyncProfilerService.start() fails, these are the usual values inside
> containers.
> Expected: Use itimer or ctimer instead of cpu when perf_events aren't usable.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]