Computer >> 컴퓨터 >  >> 프로그래밍 >> Ruby

AppSignal, 장기 실행 스트리밍 랙 응답 지원으로 Ruby 모니터링 향상

이제 AppSignal이 장기 실행 스트리밍 랙 응답에 대한 향상된 모니터링을 제공하게 되어 기쁘게 생각합니다. 향상된 랙 응답 모니터링을 통해 Ruby 애플리케이션의 장기 실행 응답 상태에 대한 더 깊은 가시성을 얻을 수 있으므로 요청 본문이 제공되고 몇 분 또는 몇 시간 후에 발생할 수 있는 오류를 포착할 수 있습니다.

이 새로운 관찰 가능성 계층은 Cheddar Payments의 엔지니어링 이사인 Julik Tarkhanov의 귀중한 기여 덕분입니다. 그의 작업을 통해 Ruby gem 내에서 장기 실행 응답을 모니터링할 수 있게 되었고 실시간 성능 모니터링에 대한 지원이 강화되었습니다.

이 블로그 게시물에서는 Ruby 앱을 모니터링할 때 이 추가 기능이 무엇을 의미하는지 설명하고 오픈 소스 접근 방식을 통해 고객과의 협력을 촉진하여 실행 가능하고 영향력이 큰 통찰력을 제공하는 방법에 대해 논의하겠습니다.

장기 실행 랙 응답을 모니터링하는 이유

일반적으로 Rack 응답을 모니터링할 때 AppSignal은 응답 본문을 렌더링하는 데 걸리는 시간을 추적할 수 있습니다.

AppSignal, 장기 실행 스트리밍 랙 응답 지원으로 Ruby 모니터링 향상

그러나 AppSignal은 대용량 파일을 다운로드하는 경우와 같이 장시간 실행되는 응답을 모니터링할 수 없었습니다. 즉, 응답을 렌더링하는 데 걸린 시간이나 렌더링하는 동안 예외가 발생했는지 알 수 없었습니다.

이 문제는 틈새 시장이고 응답 모니터링에 대한 많은 고객 경험에 적용되지 않을 것 같지만 Cheddar Payments의 문제였습니다. 사용 사례의 경우 장기 실행 응답을 모니터링할 수 없기 때문에 성능을 추적하고 오랜 프로세스 중에 발생할 수 있는 오류를 진단하는 데 어려움을 겪었습니다.

Cheddar Payments에서는 Rails의 zip 파일 내에서 스트리밍 방식으로 전달되는 주요 보고서를 다운로드할 수 있습니다. 이러한 보고서 제공이 AppSignal 모니터링에서 제외된 것을 확인했습니다. 왜냐하면 앱에서 HTTP 상호 작용의 "주요" 부분이 완료되면 AppSignal 추적이 중지되기 때문입니다. AppSignal에서 볼 수 없는 보고서 생성 오류가 있었기 때문에 이러한 응답을 추적하는 것이 중요했습니다.

Cheddar Payments 엔지니어링 이사 Julik Tarkhanov

장기 실행 랙 응답 모니터링을 위한 기여 중심 솔루션

WeTransfer 시절 Rack에서 장기 실행 응답 경험을 바탕으로 Julik은 장기 실행 응답을 모니터링하는 솔루션을 구현하여 Ruby gem에 기여하기로 결정했습니다.

우리는 이미 APM(AppSignal)을 갖고 있고, 쉽게 구현할 수 있는 기능도 있는데, 해보면 어떨까요?

대안을 모색하는 대신 Julik의 초기 풀 요청에서는 AppSignal의 추적 내에서 장기 실행 Rack 응답을 모니터링하는 방법을 도입했습니다. AppSignal 통합팀 Tom의 노고 덕분에 우리는 PR #1140의 솔루션을 완벽하게 구현하고 이를 Ruby gem 버전 3.10에 출시하여 극단적인 경우를 해결하고 안정성을 향상시켰습니다.

Julik의 솔루션을 통해 그의 팀은 모니터링을 위해 AppSignal을 계속 사용할 수 있었고 대체 도구를 구현하거나 전환하지 않고도 장기 실행 응답을 추적해야 하는 요구 사항을 해결할 수 있었습니다.

AppSignal은 이제 장기 실행 응답 기간을 캡처하고 응답 렌더링 중 어느 시점에서든 문제가 발생할 경우 고객에게 알릴 수 있어 고객에게 추가적인 관찰 계층을 제공합니다.

AppSignal, 장기 실행 스트리밍 랙 응답 지원으로 Ruby 모니터링 향상

오픈소스 기여를 가치 있게 여기는 이유

AppSignal에서는 항상 고객 피드백과 기능 요청을 소중히 여깁니다. 모든 요청이 생산에 반영될 수는 없지만 우리는 고객의 요구 사항을 탐구하는 데 열려 있습니다.

모든 사람에게 도움이 될 수 있는 요구 사항을 파악하면 이를 효과적인 솔루션으로 전환할 수 있는지 확인하기 위해 최선을 다합니다. Rails 커뮤니티의 많은 사람들과 마찬가지로 우리는 오픈 소스 협업의 힘을 믿습니다. 이를 통해 민첩성을 유지하고 고객의 변화하는 요구 사항에 대응할 수 있습니다.

소규모의 부트스트랩 팀으로서 모든 고객의 위시리스트에 있는 모든 기능을 구현할 수는 없습니다. 이것이 바로 우리 보석에 대한 기여가 필요한 곳입니다. 이를 통해 커뮤니티의 도움을 받아 제품의 기능을 확장하고 중요한 기능을 더 빠르게 처리할 수 있습니다.

우리의 오픈 소스 접근 방식은 공개된 통합에서 최대한 많은 작업을 수행하는 것을 목표로 합니다. 우리는 커뮤니티의 기여를 보는 것을 좋아하며 항상 아이디어와 개선을 환영합니다.

AppSignal의 CTO Thijs Cadier

AppSignal에서는 고객을 우리가 하는 모든 일의 중심에 두고, 애플리케이션을 모니터링하고 최적화하는 데 도움이 되는 최고의 경험과 도구를 제공하기 위해 끊임없이 노력하고 있습니다. 이것이 바로 고객들이 우리를 좋아하는 이유입니다:

  • 무료 전문가 지원
  • 투명한 가격
  • 유연한 업그레이드 정책
  • 사용하기 쉬운 인터페이스

아직도 확신하지 못하시나요? Julik이 전하는 내용은 다음과 같습니다:

AppSignal은 훌륭한 제품이며, 이를 사용해 보는 것은 도구 측면에서 큰 노력이 필요하지 않습니다. 그리고 OpenTelemetry가 시작되면서 상황은 더욱 좋아질 것입니다.

설치 마법사를 사용하면 무료 평가판을 시작하고 커피를 마시는 데 걸리는 시간보다 짧은 시간에 AppSignal을 실행하고 실행할 수 있습니다. 아, 그리고 신규 고객에게 (요청 시) 스트룹와플을 보낸다고 말씀드렸나요?

질문이 있거나 AppSignal이 앱 지표를 최대한 활용하는 데 어떻게 도움이 되는지 자세히 알고 싶으십니까? 언제든지 연락해 주시면 기꺼이 도와드리겠습니다!

AppSignal, 장기 실행 스트리밍 랙 응답 지원으로 Ruby 모니터링 향상

코너 제임스

AppSignal의 개발자 마케팅 관리자. 카놀리를 너무 좋아해서 이름을 코놀리로 바꾸는 것을 고려 중인 팟캐스트 중독자. 그는 색깔에 'u'가 있다고 생각합니다. 마이크 위에 있거나, 무대 위에 있거나, 근무 외 시간에 소파에 누워 있는 그를 볼 수 있습니다.

Connor James의 모든 기사