@@ -588,6 +588,29 @@ def test_queue_mem(self):
588
588
"no queue settings with memory queue (for now)"
589
589
)
590
590
591
+ def test_self_instrument (self ):
592
+ # self instrumentation comes with profiling by default
593
+ apm_server = ApmServer (version = "8.0.0" ).render ()["apm-server" ]
594
+ self .assertIn ("apm-server.instrumentation.enabled=true" , apm_server ["command" ])
595
+ self .assertIn ("apm-server.instrumentation.profiling.cpu.enabled=true" , apm_server ["command" ])
596
+ self .assertIn ("apm-server.instrumentation.profiling.heap.enabled=true" , apm_server ["command" ])
597
+
598
+ # self instrumentation comes with profiling by default but can be disabled
599
+ apm_server = ApmServer (
600
+ version = "8.0.0" , apm_server_self_instrument = True , apm_server_profile = False ).render ()["apm-server" ]
601
+ self .assertIn ("apm-server.instrumentation.enabled=true" , apm_server ["command" ])
602
+ self .assertFalse (
603
+ any (e .startswith ("apm-server.instrumentation.profiling" ) for e in apm_server ["command" ]),
604
+ "no self profiling settings expected"
605
+ )
606
+
607
+ # need self instrumentation enabled to get profiling
608
+ apm_server = ApmServer (
609
+ version = "8.0.0" , apm_server_self_instrument = False , apm_server_profile = True ).render ()["apm-server" ]
610
+ self .assertNotIn ("apm-server.instrumentation.enabled=true" , apm_server ["command" ])
611
+ self .assertNotIn ("apm-server.instrumentation.profiling.cpu.enabled=true" , apm_server ["command" ])
612
+ self .assertNotIn ("apm-server.instrumentation.profiling.heap.enabled=true" , apm_server ["command" ])
613
+
591
614
def test_apm_server_build_branch (self ):
592
615
apm_server = ApmServer (version = "6.3.100" , apm_server_build = "foo.git@bar" , release = True ).render ()["apm-server" ]
593
616
self .assertIsNone (apm_server .get ("image" ))
0 commit comments