앱별 대역폭
지금 이 순간 어떤 앱이 데이터를 주고받고 있는지.
수치만으로는 무언가 일어나고 있다는 것만 알 뿐, 무엇인지는 알 수 없습니다. Pinned는 실시간 수치를 프로세스별로 나눠 보여주므로, "왜 연결이 바쁜지"에 추측이 아닌 답이 있습니다.
패널 자체를 실행 중인 앱에서 그대로 렌더링한 화면입니다. 실시간 속도, 차트, 사용자의 합계, 한도와 그 예측, 그리고 데이터를 주고받는 프로세스를 사용자가 읽는 언어로 담고 있습니다.
그림 2 / 프로세스별
개발자의 Mac에서 측정
- cloudflared 4.42 GB
- claude 163.1 MB
- node 54.6 MB
- mongod 52.2 MB
트래픽을 프로세스에 귀속시키는 일반적인 방법은 권한을 가진 헬퍼를 설치하는 것입니다. 상용 대안 제품은 root 권한의 LaunchDaemon: Mac이 켜질 때 함께 로드되어, 메뉴를 열든 열지 않든 상주합니다. 이는 가끔 훑어보는 목록 하나를 얻기 위해 root 권한으로 계속 실행되는, 시스템에 영구히 자리 잡은 부분입니다.
Pinned은 그렇게 하지 않습니다. 앱별 귀속 처리는 샌드박스 안에서, 앱 자체적으로. 권한 있는 헬퍼도, root 데몬도, 관리자 비밀번호도, 어떤 단계에서도 권한 요청 창도 없습니다.
이로부터 비용 모델이 자연스럽게 따라옵니다. Pinned는 앱별로 패널이 열려 있는 동안 최소 3초 간격으로 샘플링합니다. 패널을 닫으면 작업이 중지됩니다. 다만 활성화된 앱 속도 알림에 필요하면, 그 감시기 하나만 10초마다 샘플링합니다. 그런 알림이 없으면 백그라운드 앱별 샘플러는 없습니다.
비용
분명히 밝혀둘 만한 두 가지 한계가 있습니다. 3초 간격의 폴링으로는 두 샘플 사이에 시작하고 끝나는 전송을 포착할 수 없어, 짧은 버스트는 완전히 놓칠 수 있습니다. 또한 앱별 수치는 소켓 수준에서 수집되므로, 인터페이스 합계와 정확히 일치하지 않습니다.