ruby 猴子补丁用keen.io保存查询
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 猴子补丁用keen.io保存查询相关的知识,希望对你有一定的参考价值。
require 'keen'
#
# Patch keen gem to allow saved queries
#
module Keen
module HTTP
class Sync
def put(options)
path, headers, body = options.values_at(
:path, :headers, :body)
@http.put(path, body, headers)
end
end
end
end
module Keen
class Client
module SavingMethods
def save_query(query_name, properties)
ensure_project_id!
ensure_write_key!
save_body(
api_saved_query_resource_path(query_name),
MultiJson.encode(properties),
'save')
end
private
def save_body(path, body, error_method)
begin
response = Keen::HTTP::Sync.new(
self.api_url, self.proxy_url).put(
:path => path,
:headers => api_headers(self.master_key, 'sync'),
:body => body)
rescue Exception => http_error
raise HttpError.new("HTTP #{error_method} failure: #{http_error.message}", http_error)
end
process_response(response.code, response.body.chomp)
end
def api_saved_query_resource_path(query_name)
"/#{self.api_version}/projects/#{self.project_id}/saved_queries/#{query_name}"
end
end
end
Client.__send__(:include, Keen::Client::SavingMethods)
end
module Keen
class << self
def_delegators :default_client,
:save_query
end
end
Keen.save_query('message_by_weekday', {
analysis_type: 'count',
event_collection: 'message_received',
group_by: 'time.wday',
})
以上是关于ruby 猴子补丁用keen.io保存查询的主要内容,如果未能解决你的问题,请参考以下文章
您如何检测到 Ruby 中发生了猴子补丁?
ruby 因为没人喜欢猴子补丁。
ruby 猴子补丁模式
ruby 猴子补丁模式
寻找可能导致麻烦的 Ruby 猴子补丁的来源?
ruby 该要点向您展示了如何运行保留分析。我在博客上写了如何在此处运行保留分析:https://keen.io/blog/47823687779