We designed and implemented TEEMon — a real-time performance monitoring and analysis tool for Intel SGX based applications. TEEMon provides fine-grained performance metrics during runtime, including SGX metrics e.g., total EPC pages, free EPC pages, pages marked as old, pages evicted to main memory, pages added to enclaves, pages reclaimed from main memory, etc. It also performs the analysis to identify the causes of performance bottlenecks. It is integrated with open-source tools like Prometheus and Grafana to offer a comprehensive monitoring solution running inside Docker containers and providing a wide-ranging set of SGX metrics such as and visualizations with a low performance overhead.
TEEMon requires the driver metrics extension
TEEMon collects SGX-related metrics that are provided by our SGX Driver metrics extension. Without this driver extension, TEEMon will not run correctly.
TEEMon is integrated with Kubernetes to monitor the performance of applications running inside SGX enclaves
We integrated TEEMon with Kubernetes to monitor the performance of an application running inside more than 6000 distributed SGX enclaves using SCONE (See the following screencast)