Upgrade to Pro — share decks privately, control downloads, hide ads and more …

最近 Mackrel でやったこと

最近 Mackrel でやったこと

Hidekazu Tanaka

April 27, 2017
Tweet

More Decks by Hidekazu Tanaka

Other Decks in Technology

Transcript

  1. ίʔυ #!/usr/bin/env ruby require 'mackerel' require 'yahoo-finance' MACKEREL_API_KEY = '<API

    Key>' MACKEREL_SERVICE_NAME = '<service name>' yahoo_client = YahooFinance::Client.new data = yahoo_client.quote('USDJPY=X', [:ask, :bid, :last_trade_date, :last_trade_time]) time = Time.strptime("#{data.last_trade_date} #{data.last_trade_time} +01:00", '%m/%d/ %Y %H:%M%P %:z') mackerel_client = Mackerel::Client.new(mackerel_api_key: MACKEREL_API_KEY) mackerel_client.post_service_metrics(MACKEREL_SERVICE_NAME, [ { name: 'finance.usdjpy.ask', time: time.to_i, value: data.ask.to_f }, { name: 'finance.usdjpy.bid', time: time.to_i, value: data.bid.to_f } ])
  2. खॱ 1. ʮHealth ExportʯͰา਺σʔλΛ CSV Խ 2. CSV Λ iCloud

    Drive Ͱ macOS ʹసૹ 3. macOS Ͱ CSV Λϩʔυ 4. Mackerel ʹαʔϏεϝτϦοΫͱͯ͠౤ߘ
  3. ίʔυ #!/usr/bin/env ruby require 'csv' require 'mackerel' MACKEREL_API_KEY = '<API

    Key>' MACKEREL_SERVICE_NAME = '<service name>' metrics = [] CSV.foreach('./iphone_steps_date.csv', headers: true) do |row| metrics << { name: 'iphone.healthcare.steps', time: Time.strptime(row['time'], '%Y/%m/%d %H:%M').to_i, value: row['steps'].to_f } end Mackerel::Client.new(mackerel_api_key: MACKEREL_API_KEY).post_service_metrics(MACKEREL_SERVICE_NAME, metrics)