About Signoz
Signoz is an Application Performance Monitoring (APM) & Observability tool. It's an open-source alternative to DataDog. SigNoz helps developers monitor applications and troubleshoot problems in their deployed applications.
Getting started with Signoz:
Setting up the development environment: The setup process for the development environment on Signoz was straightforward since the front-end and back-end were separated. The specific issue I was working on did not necessitate configuring the back-end. However, during the initial setup on my Windows OS, I encountered an error stating that
'chmod' was not recognized as an internal or external command, operable program or batch file
. After researching, I found on the Microsoft Developer Community that MSBuild did not have a chmod executable or a chmod task. Consequently, I decided to switch to using WSL instead.The community: Signoz has a slack channel and the maintainers are really supportive.
Identifying areas to contribute to
When contributing to open source, I like to start with first-time-only issues, to get familiar with the codebase. I look for fto
issues that are related to frontend/design. I found the issue 2077
My experience contributing to Signoz
Overview of the feature or issue that I contributed to :
Issue #2077 was a styling issue about fixing the tooltip position. As shown in the video below, the initial position of the tooltip was not consistent and it needed to have a more constant positioning when hovering over the charts
Details about my approach and implementation:
To address the tooltip positioning issue, I began by identifying the file requiring modifications. Upon inspection, I discovered that Signoz's charts were based on the chart.js library. To gain more insight into styling the tooltip, I checked the library's documentation and reviewed a helpful video tutorial. I realized that the tooltip position was not initially set, leading to its erratic movement. Therefore, I configured custom positioning for the tooltip so that it would maintain a constant position relative to the mouse cursor, only adjusting its location when space is insufficient to accommodate its width. I made a video (which is shown below) of the corrected tooltip positioning.
Challenges I faced and how I overcame them:
Type issues: I was confused about the return type for a function, so I asked questions to solve this.
Commit lint error: After I had finished and was git committing my changes, I got the commit lint error, which was a result of not following the conventional commit format
Conclusion: Things I liked about contributing to Signoz
Step-by-step guide for contributing: Detailed readme document, docker images for various parts of the project.
Contributing to the frontend without setting up the whole project.
Really helpful maintainer & community
I would love to hear your comments, contributions and suggestions.