JMP 크래시를 경험해 보신 적이 있다면, 아마도 JMP에 크래시 파일을 보내달라는 메시지를 보셨을 겁니다. (참고: JMP 기술 지원팀과 협력하고 싶으시다면 크래시 파일을 보내주시고 이메일 주소를 남겨주세요.) 보내주신 파일은 전 세계 내부 테스터 및 고객의 파일과 함께 JMP 크래시 시스템에 입력됩니다. JMP DevOps 팀은 자체 JMP 소프트웨어를 사용하여 보고된 JMP 크래시 파일을 분석하고, JMP 개발팀과 협력하여 크래시 시그니처와 알려진 버그 간의 연관성을 파악합니다.
JMP 및 기타 도구를 사용하여 JMP 충돌을 분석하는 과정을 간략하게 설명합니다. 이제 새로운 충돌 보고서를 알려진 문제와 연결하거나 추가 조사가 필요한 새로운 사례로 식별하는 것은 비교적 간단한 작업이 되었습니다. 그러나 원인을 알 수 없는 새로운 충돌을 해결하는 것은 그리 간단한 과정이 아닙니다. 이 포스터는 충돌 보고서에 자세한 정보를 제공하여 더 많은 충돌 문제를 해결하는 데 도움을 줄 수 있는 방법과 이러한 정보가 JMP 개발 프로세스에 어떻게 도움이 되는지 설명합니다. JMP 18에서는 충돌 세부 정보 외에도 JMP 기능 사용에 대한 익명 원격 측정 데이터를 전송할 수 있습니다. 저희는 이 정보를 활용하여 고객 사용 패턴은 물론 하드웨어 및 운영 체제 배포 환경을 더 잘 이해합니다.
안녕하세요 여러분. 제가 가장 좋아하는 주제 중 하나에 대해 더 자세히 알아볼 수 있는 포스터 세션에 참석해 주셔서 감사합니다. 저는 JMP 개발 운영 책임자인 섀넌 코너스입니다. 오늘은 JMP 개선에 도움이 되는 데이터를 생성하고 공유하는 방법에 대해 이야기하고자 합니다.
먼저, 저희 DevOps 그룹에 대해 간단히 소개드리겠습니다. 저희는 JMP 기능 개발, 버그 수정, 보안 릴리스를 지원하는 계획 수립, 인프라 테스트 및 모든 운영 관련 업무를 담당하고 있습니다. 다양한 릴리스 주기 전반에 걸쳐 지원을 제공합니다.
제 이야기는 이쯤 하고, 이제 여러분 이야기를 해볼까요? 이 녹화 영상을 온라인으로 시청하고 계신다면, 저처럼 JMP를 자주 사용하시는 분일 가능성이 높습니다. 그렇다면 JMP에서 저희에게 정보를 전송해 달라는 요청을 받는 경우가 있다는 것을 아실 겁니다. 이러한 요청은 크게 두 가지 상황에서 발생합니다. 첫째, JMP 접근 위반 오류가 발생하거나 소프트웨어가 충돌하는 경우입니다. 둘째, JMP를 설치하면 익명 사용 통계를 전송해 달라는 요청이 표시됩니다. 이를 흔히 원격 측정 데이터라고 부릅니다. 저희는 여러분의 개인정보를 존중하기 때문에 이러한 정보 전송에 동의해 주시도록 요청드립니다. 소속 기관에서 이미 개인정보 설정을 해 놓지 않았다면, JMP 환경설정에서 개인정보 설정을 직접 변경할 수 있습니다.
먼저, 시스템 오류에 대해 이야기해 보겠습니다. JMP 고객 여러분은 매우 다양한 상황을 경험하고 계십니다. 여러 데이터 소스와 다양한 산업 분야에 접근하고 계시기 때문에, 저희가 테스트에서 한 번도 본 적 없는 JMP 오류가 발생할 가능성도 있습니다. JMP에는 오류 감지 기능이 내장되어 있어 소프트웨어 작동이 중단되면 이를 감지합니다. 그리고 다음에 JMP를 다시 시작할 때, 오류 세부 정보를 저희에게 보내달라는 메시지가 표시됩니다.
수년에 걸쳐 당사는 접수되는 오류 보고서를 저장하고 알려진 문제와 대조하는 내부 시스템을 구축해 왔습니다. 이 시스템을 통해 오류가 새롭게 발생하는 문제인지, 아니면 이미 알려진 문제인지, 또는 고객에게 수정 예정일이나 수정 사항이 이미 제공되었는지 여부를 신속하게 파악할 수 있습니다. 또한, 이 시스템은 고객 오류 보고서뿐만 아니라 서비스 센터, 기술 지원팀, 테스터 등 당사 직원이 발견한 내부 오류 보고서도 처리합니다.
이 기능이 어떻게 작동하는지 간단히 설명드리겠습니다. JMP가 종료될 예정임을 나타내는 빨간색 X 표시가 있는 대화 상자가 나타날 수 있습니다. 이 대화 상자를 보는 것을 싫어하는 분들이 많겠지만, 어쩔 수 없이 보게 될 것입니다. [확인]을 클릭하면 JMP가 다시 시작됩니다. 그러면 "JMP가 예기치 않게 종료되었습니다"라는 메시지와 텍스트를 입력할 수 있는 빈 공간이 표시됩니다. 이 창에서 "익명으로 보고서 보내기"와 "최근 문제 확인"이 모두 선택되어 있는 것을 확인할 수 있습니다.
우선, 여기서 '취소'를 클릭하지 마세요. 클릭하시면 오류가 발생했다는 사실조차 알 수 없습니다. 이 창을 보고 JMP가 저희에게 어떤 정보를 보내는지 걱정되실 수도 있겠지만, 안심하세요. JMP는 열려 있는 테이블 스크립트나 기타 세부 정보를 보내지 않습니다. JMP는 창의 빈 칸에 입력하신 댓글과 Windows 시스템에 대한 기본 설치 및 검사 정보(운영체제, 설치된 드라이버 및 소프트웨어 목록 등)만 전송합니다. 이러한 정보는 문제 해결에 도움이 됩니다.
마지막으로, JMP는 소프트웨어가 작동을 멈췄을 때 활성화되었던 코드 경로를 자세히 보여주는 크래시 파일을 전송합니다. 운영 체제나 소프트웨어 제품이 생성하는 다른 크래시 파일과 마찬가지로, 이러한 파일은 사람이 읽을 수 없으며 특정 문제를 디버깅할 때 개발자에게만 유용합니다.
이 창에 표시된 기본 설정을 그대로 사용하고 "JMP에 보고서 보내기"를 클릭하여 크래시를 익명으로 제출하면 JMP가 파일을 서버에 업로드합니다. 익명으로 제출하면 크래시가 데이터베이스에 추가되지만, 크래시 파일만으로는 문제를 완전히 진단하고 재현하기 어려운 경우가 많다는 점을 이해해 주시기 바랍니다. 개발자가 크래시를 디버깅하거나 테스터가 수정 사항을 검증할 때, 대화형 작업이나 JSL 스크립트를 사용하여 문제를 재현하는 것이 가장 좋은 방법입니다.
익명 옵션을 해제하고 이메일 주소를 입력해 주시면 감사하겠습니다. 그러면 새로운 기술 지원 사례를 개설하여 담당자와 함께 문제를 해결할 수 있습니다. 기술 지원팀이 문제를 재현할 수 있을 때까지 직접 도움을 요청하시면 향후 버전에서 해당 문제를 이해하고 해결할 가능성을 극대화할 수 있습니다.
만약 어떤 작업을 했는지 정확히 모르거나, 담당자와 함께 문제를 해결할 시간이 없었다면 익명으로 제보할 수도 있습니다. 하지만 익명으로 제보할 경우에는 JMP가 충돌했을 당시 어떤 작업을 하고 있었는지 기억나는 대로 간단하게 적어주시면 감사하겠습니다. 제보해 주신 내용(이메일 또는 익명)을 통해 기술 지원팀에 보고된 경우, 저희는 해당 충돌 현상을 재현할 수 있다면 문제를 추적하는 새로운 버그 보고서를 생성합니다. 만약 재현이 불가능하다면, 새로운 정보가 접수되어 테스트 케이스를 진행할 수 있을 때까지 해당 충돌 정보는 시스템에 그대로 남아 있게 됩니다.
이전에 JMP가 작동을 멈췄을 때 어떤 작업을 하고 있었는지 자세히 알려달라고 요청드렸던 오류 보고 창에 대해 조금 이야기해 보겠습니다. 첫 번째 스크린샷은 이 오류 보고 대화 상자의 기본 화면입니다. 말씀드린 대로 이메일 주소나 고객 정보가 제공되지 않았습니다. 이러한 익명의 오류 보고는 데이터베이스에 추가되기는 하지만, 향후 버전에서 재현 및 해결될 가능성이 매우 낮기 때문에 '가장 유용성이 낮은' 항목으로 분류했습니다.
두 번째 창에서는 고객이 익명으로 제보했지만, 충돌 발생 전에 취했던 조치에 대한 매우 유용한 의견을 남겨주셨습니다. 덕분에 문제를 재현하는 데 필요한 충분한 정보를 얻을 수 있었습니다. 하지만 고객이 이메일 주소를 제공하지 않아 문제 해결에 대한 정보를 전달해 드릴 수 없었습니다. 현재 버그 보고서가 접수되었으며, 향후 수정될 수 있도록 노력하겠습니다.
세 번째 창은 익명으로 제보했지만, 개발자가 조사 보고서를 작성할 수 있을 만큼 충분한 정보를 제공한 사례입니다. 개발자는 이 보고서를 바탕으로 JMP 스크립트를 만들어 문제를 재현하고 즉시 수정 사항을 적용할 수 있었습니다.
마지막 창은 예시입니다. 어떤 분이 이메일 주소와 스크립트를 제공해 주셨습니다. 덕분에 여러 버전으로 스크립트를 실행해 보고 문제가 언제 발생하기 시작했고 언제 멈췄는지 파악할 수 있어서 정말 유용합니다. 모든 분들이 문제를 재현할 스크립트를 만들 시간이 있는 건 아니라는 걸 알고 있지만, 공유해 주실 수 있는 스크립트가 있다면 문제 해결에 훨씬 더 빠르게 도움이 될 것입니다.
저희가 고객님의 파일을 어떻게 접수하고 처리하는지 간략하게 설명드리겠습니다. 기본적으로 서버에서 크래시 파일을 다운로드합니다. 저희는 파일에 심볼을 추가하는데, 이는 크래시 스택을 처리하는 기술적인 용어입니다. 이 정보를 데이터베이스에 저장한 후, 기존에 보고된 어떤 크래시와도 일치하지 않는지 비교합니다. 고객이 이메일로 제출한 기술 지원 사례나, 익명 및 실명 크래시를 조사하기 위한 내부 웹페이지인 JMP 크래시 웹페이지에 해당 정보를 표시합니다.
텔레메트리 데이터 처리 과정도 매우 유사합니다. 모든 텔레메트리 데이터가 익명으로 제출되기 때문에 고객과의 직접적인 접촉이 없어 데이터를 요약할 수 있습니다. 데이터를 데이터베이스에 저장하고 요약한 후 JMP Live에 게시합니다. 플랫폼 사용 현황이나 기능 사용 패턴을 더 자세히 분석하고 싶은 개발자는 에반 맥코클(Evan McCorkle)이 개발한 텔레메트리 추가 기능을 사용하여 데이터를 직접 다운로드하고 탐색할 수 있습니다.
흥미롭게도, 권한 18을 승인한 고객 중 약 10%가 원격 측정 데이터 공유에 동의하는 것으로 나타났습니다. 원격 측정 데이터가 모든 JMP 사용 사례를 완벽하게 포괄하는 것은 아니지만, 고객들이 소프트웨어를 어떻게 활용하려는지에 대한 매우 유용한 정보를 얻을 수 있으며, 이는 향후 JMP 버전 개발에 큰 도움이 될 것입니다.
요약하자면, JMP에서 발생하는 문제, 특히 충돌 보고서나 버그 제보를 support@jmp.com으로 보내주시면 문제 해결에 큰 도움이 됩니다. JMP 사용 중 문제가 발생했을 때 어떤 작업을 하고 있었는지 자세히 알려주시면 정말 감사하겠습니다. 저희는 이러한 정보를 꼼꼼히 검토하고 기술 지원팀에서 문제를 재현하기 위해 노력합니다. 베타 버전의 경우, 테스터들이 문제를 재현하려고 시도하며, 저희는 이러한 문제들을 해결하기 위해 최선을 다하고 있습니다.
JMP 18에서는 이제 원격 측정 정보를 공유하는 데 참여하실 수 있습니다. 이 정보는 사용 패턴을 파악하고 사용자들이 소프트웨어를 어떻게 활용하고 어떤 워크플로우를 수행하는지 이해하는 데 매우 유용합니다. 여러분의 적극적인 참여를 부탁드립니다. 마지막으로, JMP 내부 직원들도 실제로 소프트웨어를 사용하여 JMP 소프트웨어 개선에 기여하고 있다는 점을 강조하고 싶습니다.
저희도 여러분과 같습니다. 저희도 JMP와 JSL을 사용하고, 데이터베이스와 상호 작용하며, 데이터를 정리하고 처리하고, 스크립트를 작성하고, 인터랙티브 그래픽을 만들고 JMP Live에 결과를 게시하는 방법을 사용합니다. 크래시 파이프라인과 텔레메트리 파이프라인 모두에서 제가 가장 좋아하는 점 중 하나는 JMP를 사용하여 JMP를 개선한다는 것입니다. 정말 멋진 일이라고 생각합니다.
제 발표를 들어주셔서 정말 감사합니다. 디스커버리 컨퍼런스에 오신다면 제 포스터 세션에 꼭 들러주세요. 직접 만나 뵙고 이야기 나눌 수 있으면 좋겠습니다. 다시 한번 감사드립니다.