Authenticating...
Skip to main content

0018: DataDog services naming convention

STATUS

Request for Comments

Context

The current naming conventions for services in the DD project have become inconsistent due to the nature of the events being processed. Specifically:

  • The adgemapi service currently handles events exclusively related to Laravel Horizon (e.g., Laravel\Horizon\Events\MasterSupervisorLooped). This makes the existing name misleading.
  • The adgem-offerwall service name no longer reflects its current responsibilities. Initially, this name made sense when the offerwall functionality was handled within the API project. Now, the offerwall functionality has been moved to a separate project (offerwall-ui), and the current service solely handles API logic.

This decision was prompted by the analysis of Datadog Incident #147, which highlighted confusion around service identification during incident response. The inconsistent names contributed to slower triaging and misinterpretation of the roles of these services. Clearer service naming will help avoid similar issues in the future.

Decision

We will rename the services to better reflect their responsibilities and align with current project structure:

  • Rename adgemapi to adgem-horizon-events (or a similar name reflecting its relation to Horizon).
  • Rename adgem-offerwall to adgem-api to clarify that this service is focused on API responsibilities only and no longer includes offerwall UI logic.
  • Change status_page to status-page.
  • Reduce from two services to only one call offer-api.

Consequences

  • Improves clarity and maintainability of the codebase.
  • Helps new developers onboard faster by reducing confusion about service responsibilities.
  • Requires updates to deployment scripts, monitoring dashboards, and possibly environment variables to reflect the new names.
  • Some documentation may need revision to align with the updated service names.

Alternatives Considered

  • Leaving the names unchanged and adding internal documentation: Rejected due to the risk of continued confusion.
  • Consolidating the services: Not applicable due to the differing scopes of responsibility.

NOTES

  • Update service names in CI/CD pipeline definitions. (@cfabianleon, @dakotawashok)
  • Update DD custom metrics charts and monitors related to outdated adgem-offerwall service to adgem-api. (@Alex23013)
  • Communicate changes with all relevant development teams. (@Alex23013)

References

Original Author

Maria Cornejo

Approval date

Approved by

Appendix