Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for cgroups v2 discovery #3035

Closed
amannocci opened this issue Feb 24, 2023 · 1 comment · Fixed by #3199
Closed

Support for cgroups v2 discovery #3035

amannocci opened this issue Feb 24, 2023 · 1 comment · Fixed by #3199
Assignees
Milestone

Comments

@amannocci
Copy link
Contributor

Is your feature request related to a problem?

Currently, the APM java agent is able to populate the container.id field in an event when running on an operating system using cgroups v2.
The GitHub Action workflow uses ubuntu-20.04 to run integration tests and will fail with upper versions.

Describe the solution you'd like

When running applications on systems with cgroups v2 enabled, for example on docker, container.id should be filled in for events produced by APM agents.

Additional context

Ref: elastic/apm#523

Integration tests error (Ubuntu 22):

2023-02-21T14:46:27.6420343Z Expecting actual not to be null
2023-02-21T14:46:27.6420897Z 	at co.elastic.apm.servlet.AbstractServletContainerIntegrationTest.validateMetadataEvent(AbstractServletContainerIntegrationTest.java:637)
2023-02-21T14:46:27.6421715Z 	at co.elastic.apm.servlet.AbstractServletContainerIntegrationTest.validateEventMetadata(AbstractServletContainerIntegrationTest.java:593)
2023-02-21T14:46:27.6422727Z 	at co.elastic.apm.servlet.AbstractServletContainerIntegrationTest.getEvents(AbstractServletContainerIntegrationTest.java:574)
2023-02-21T14:46:27.6423507Z 	at co.elastic.apm.servlet.AbstractServletContainerIntegrationTest.getReportedTransactions(AbstractServletContainerIntegrationTest.java:536)
2023-02-21T14:46:27.6424314Z 	at co.elastic.apm.servlet.AbstractServletContainerIntegrationTest.getAllReported(AbstractServletContainerIntegrationTest.java:462)
2023-02-21T14:46:27.6425123Z 	at co.elastic.apm.servlet.AbstractServletContainerIntegrationTest.assertTransactionReported(AbstractServletContainerIntegrationTest.java:362)
2023-02-21T14:46:27.6425939Z 	at co.elastic.apm.servlet.tests.AbstractServletApiTestApp.testTransactionReporting(AbstractServletApiTestApp.java:157)
2023-02-21T14:46:27.6426584Z 	at co.elastic.apm.servlet.tests.AbstractServletApiTestApp.test(AbstractServletApiTestApp.java:52)
2023-02-21T14:46:27.6427134Z 	at co.elastic.apm.servlet.tests.JBossServletApiTestApp.test(JBossServletApiTestApp.java:29)
2023-02-21T14:46:27.6427851Z 	at co.elastic.apm.servlet.AbstractServletContainerIntegrationTest.testAllScenarios(AbstractServletContainerIntegrationTest.java:353)
2023-02-21T14:46:27.6428457Z 	at jdk.internal.reflect.GeneratedMethodAccessor131.invoke(Unknown Source)
2023-02-21T14:46:27.6428972Z 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2023-02-21T14:46:27.6429441Z 	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
2023-02-21T14:46:27.6429851Z 	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
2023-02-21T14:46:27.6430333Z 	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
2023-02-21T14:46:27.6430832Z 	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
2023-02-21T14:46:27.6431336Z 	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
2023-02-21T14:46:27.6431829Z 	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
2023-02-21T14:46:27.6432249Z 	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
2023-02-21T14:46:27.6432675Z 	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
2023-02-21T14:46:27.6433095Z 	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
2023-02-21T14:46:27.6433537Z 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
2023-02-21T14:46:27.6434011Z 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
2023-02-21T14:46:27.6434429Z 	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
2023-02-21T14:46:27.6434793Z 	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
2023-02-21T14:46:27.6435187Z 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
2023-02-21T14:46:27.6435641Z 	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
2023-02-21T14:46:27.6436027Z 	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
2023-02-21T14:46:27.6436400Z 	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
2023-02-21T14:46:27.6436751Z 	at org.junit.runners.Suite.runChild(Suite.java:128)
2023-02-21T14:46:27.6437072Z 	at org.junit.runners.Suite.runChild(Suite.java:27)
2023-02-21T14:46:27.6437424Z 	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
2023-02-21T14:46:27.6437787Z 	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
2023-02-21T14:46:27.6438176Z 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
2023-02-21T14:46:27.6438568Z 	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
2023-02-21T14:46:27.6438938Z 	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
2023-02-21T14:46:27.6439290Z 	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
2023-02-21T14:46:27.6439661Z 	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
2023-02-21T14:46:27.6440012Z 	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
2023-02-21T14:46:27.6440344Z 	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
2023-02-21T14:46:27.6440765Z 	at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42)
2023-02-21T14:46:27.6441295Z 	at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80)
2023-02-21T14:46:27.6441791Z 	at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72)
2023-02-21T14:46:27.6442345Z 	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147)
2023-02-21T14:46:27.6442968Z 	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127)
2023-02-21T14:46:27.6443584Z 	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90)
2023-02-21T14:46:27.6444211Z 	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55)
2023-02-21T14:46:27.6444958Z 	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102)
2023-02-21T14:46:27.6445644Z 	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54)
2023-02-21T14:46:27.6446191Z 	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
2023-02-21T14:46:27.6446689Z 	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
2023-02-21T14:46:27.6447237Z 	at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
2023-02-21T14:46:27.6447796Z 	at org.apache.maven.surefire.junitplatform.LazyLauncher.execute(LazyLauncher.java:55)
2023-02-21T14:46:27.6448391Z 	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:195)
2023-02-21T14:46:27.6449040Z 	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:139)
2023-02-21T14:46:27.6449621Z 	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:456)
2023-02-21T14:46:27.6450117Z 	at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:169)
2023-02-21T14:46:27.6450567Z 	at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:595)
2023-02-21T14:46:27.6451019Z 	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:581)
@eyalkoren
Copy link
Contributor

eyalkoren commented Feb 26, 2023

Related PR: #2352

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants