Vim에서의 작업을 Kibana로 시각화 해 보았습니다.

소개



여러분이 유용한 정보를 점점 세계에 발신하고 있는 가운데, 이러한 낭비 이외의 아무것도 아닌 기사를 써 버린 것, 깊이 반성하고 있습니다.

그러나 낭비는 재미있다.
낭비라고 알고 있어도, 해 보면 어떻게 될 것이라고 하는 흥미에 져 버렸습니다.

시각화 결과



우선 결과에서. 그래프화되면 조금 기분 좋다.



대시보드는 적당히 만든 것으로, 어느 리포지토리에서 언제 얼마나 작업했는지, 어느 파일을 특히 갱신하고 있는지, 또 갱신한 행수등을 낼 수 있도록 하고 있습니다.

왠지 스스로 나 조금은 작업했어- 감이 맛볼 수 있으면 그것으로 좋을 것입니다.

이것 이후는 수법 등의 해설이므로, 흥미가 있는 분만 부디.

시각화 방법



한 일은 매우 간단하고 다음과 같습니다.
  • autocmd를 사용하여 발생한 각 이벤트에 대한 정보 수집
  • 수집된 데이터를 Elasticsearch에 기록
  • Kibana로 시각화

  • 데이터 수집



    준비


  • Elasticsearch, Kibana 설정
  • 다른 기사가 많을까 생각하기 때문에 생략

  • Vim 플러그인 설치
  • vim-elastic

  • vim-yacd (OPTIONAL)
  • vim-spy


  • vim-elastic



    Vim에서 Elasticsearch로 데이터를 POST하기 위해서만 적절하게 만든 플러그인입니다.
    디폴트에서는 http://localhost:9200 에 POST 하므로, 변경하는 경우에는 g:elastic#url 를 설정해 주세요.
    let g:elastic#url = 'http://example.com'
    

    vim-yacd



    필수는 아닙니다.
    개인적으로 만드는 플러그인이지만 이번에는 저장소의 루트 디렉토리를 얻기 위해서만 사용하고 있습니다.
    다른 플러그인에서도 쉽게 취할 수 있는 정보라고 생각합니다만, 만들었기 때문에 사용했다고 하는 것뿐입니다.

    vim-spy



    이번 시각화의 주역 플러그인입니다.
    autocmd를 사용하여 정보를 검색하고 vim-elastic을 통해 Elasticsearch에 데이터를 POST합니다.
    POST처의 Index, Type은 다음과 같습니다.


    색인
    유형
    설명


    vim
    스파이
    이벤트 관련 데이터

    vim
    work
    행 수, 파일 크기 차이 데이터


    데이터 수집은 기본적으로 물론 유효하지 않으며 :StartSpy, :StopSpy 명령으로 시작/중지할 수 있습니다.
    또한 좋아하는 분은 이하의 설정으로 자동적으로 유효하게 할 수 있습니다.
    let g:vim_spy_auto_start = 1
    

    시각화



    vim-spy를 사용하면 데이터가 Elasticsearch에 POST되므로 나중에 Kibana에서 원하는대로 시각화 할 수 있습니다.

    대시보드를 만든 후에는 Refresh Interval 을 짧게 설정해 두면 그래프가 업데이트되어 가는 모습을 보고 즐길 수 있는 동시에, 본래의 작업에 집중이 부족할 수 있습니다. 하지만 재미 있습니다.

    마지막으로



    Docker를 사용하여 Elasticsearch를 시작하고 POST한 경우에는 vim-spy를 사용하도록 설정해도 작업 중 특히 무게가 느껴지지 않았습니다.
    단지 환경에 따라서는 무거워질 가능성이 있으므로, 만약 이용할 때에는 주의해 주십시오.

    만약 Vim 상의 이런 데이터도 가시화해 보면 재미있지 않아? 라고 하는 것이 있으면, 또 낭비인 것으로 즐기고 싶으시기 때문에 부디 연락해 주세요.

    좋은 웹페이지 즐겨찾기