Skip to content

remind101/ruby-cloud-profiler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ruby-cloud-profiler

An implementation of Google Cloud Profiler for Ruby.

This project is not officially supported or endorsed by Google in any way.

Under the hood, the agent uses Stackprof to collect the profiling data, and then converts it to the pprof format expected by Cloud Profiler. The Cloud Profiler API doesn't have pretty HTML documentation, but is described in the googleapis specification which creates generated code in google-api-ruby-client.

To use, you need to decide what to name your service and you need a Google Cloud project ID:

require 'cloud_profiler_agent'
agent = CloudProfilerAgent::Agent.new(service: 'my-service', project_id: 'my-project-id')
agent.start

This will start a background thread that will merrily poll the Cloud Profiler API to see what kinds of profiles it should collect, and when. Then it will run stackprof, and upload the profiles.

Note: the agent can only profile its own process. If your Ruby application is running from a webserver that forks subprocesses, then you'll need to somehow arrange to start the agent in the subprocess.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages