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

最近 Mackrel でやったこと

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

最近 Mackrel でやったこと

Avatar for Hidekazu Tanaka

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)