惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Troy Hunt's Blog
Scott Helme
Scott Helme
T
Threat Research - Cisco Blogs
T
Tenable Blog
L
LINUX DO - 热门话题
V
Visual Studio Blog
I
Intezer
Blog — PlanetScale
Blog — PlanetScale
Cisco Talos Blog
Cisco Talos Blog
A
Arctic Wolf
C
Cyber Attacks, Cyber Crime and Cyber Security
F
Fortinet All Blogs
aimingoo的专栏
aimingoo的专栏
Know Your Adversary
Know Your Adversary
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
N
Netflix TechBlog - Medium
SecWiki News
SecWiki News
I
InfoQ
Microsoft Security Blog
Microsoft Security Blog
Project Zero
Project Zero
W
WeLiveSecurity
Microsoft Azure Blog
Microsoft Azure Blog
A
About on SuperTechFans
Recorded Future
Recorded Future
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Vercel News
Vercel News
S
Securelist
Spread Privacy
Spread Privacy
L
LangChain Blog
云风的 BLOG
云风的 BLOG
G
Google Developers Blog
MongoDB | Blog
MongoDB | Blog
Google DeepMind News
Google DeepMind News
Recent Commits to openclaw:main
Recent Commits to openclaw:main
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
CERT Recently Published Vulnerability Notes
罗磊的独立博客
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
The Last Watchdog
The Last Watchdog
Attack and Defense Labs
Attack and Defense Labs
博客园 - 司徒正美
Help Net Security
Help Net Security
L
Lohrmann on Cybersecurity
人人都是产品经理
人人都是产品经理
Forbes - Security
Forbes - Security
Hacker News - Newest:
Hacker News - Newest: "LLM"
PCI Perspectives
PCI Perspectives
博客园 - 【当耐特】
T
Tor Project blog

Datadog | The Monitor blog

Introducing our open source AI-native SAST Instrument and monitor Boomi integration flows with OpenTelemetry and Datadog Not all index scans are equal: How we cut query latency by over 99% Platform engineering metrics: What to measure and what to ignore Integrate Recorded Future threat intelligence with Datadog Cloud SIEM CI/CD security: threat modeling using a MITRE-style threat matrix CI/CD security: How to secure your GitHub ecosystem Ingress NGINX is EOL: A practical guide for migrating to Kubernetes Gateway API Operating agentic AI with Amazon Bedrock AgentCore and Datadog LLM Observability: Lessons from NTT DATA Introducing the Datadog Code Security MCP Capture and analyze custom heatmaps in Session Replay Understand session replays faster with AI summaries and smart chapters Monitor ClickHouse query performance with Datadog Database Monitoring How we designed empathetic alert sounds for on-call engineers Search and act across Datadog to resolve issues faster with Bits Assistant Measure the business impact of every product change with Datadog Experiments Analyzing round trip query latency Configuring JavaScript caches for better performance Introducing Bits AI Dev Agent for Code Security Datadog achieves ISO 42001 certification for responsible AI Monitor Nutanix clusters, hosts, and VMs with Datadog Monitor Juniper Mist in Datadog A new Host Map for modern infrastructure Annotate traces to improve LLM quality with Datadog LLM Observability What’s new in Cloud SIEM: AI-powered investigations, enhanced threat intelligence, and scalable security operations Explore Kubernetes with native OpenTelemetry data Monitor Oracle Fusion Cloud Applications with Datadog Announcing the Datadog Terraform provider v4.0.0 Scaling Kubernetes workloads on custom metrics How to design cloud environments for AI-powered threat analysis Monitor Aruba Central in Datadog How we centralize and remediate risks with Datadog Case Management Accelerate incident response with Datadog and ServiceNow Monitor your application and network load balancer logs Understanding Karpenter architecture for Kubernetes autoscaling Tools for collecting metrics and logs from Karpenter Monitor Karpenter with Datadog What your product data is actually saying Key metrics for monitoring Karpenter Securing Datadog’s platform in the AI age: The role of observability data Four ways engineering teams use the Datadog MCP Server to power AI agents Approaching your observability migration with the right mindset Meet the new Bits AI SRE: Deeper reasoning, twice as fast Key learnings from the 2026 State of DevSecOps study Use plain English to query your multi-cloud infrastructure in Resource Catalog Simplifying troubleshooting across the user journey with Datadog Synthetic Monitoring Protect your OCI resources with Datadog Cloud Security This Month in Datadog - February 2026 Amazon EC2 security: How misconfigured and public AMIs expand your cloud attack surface Enable end-to-end visibility into your Java apps with a single command Measure and improve mobile app startup performance with Datadog RUM Evaluating our AI Guard application to improve quality and control cost Identify untested code across every level of your codebase Make use of guardrail metrics and stop babysitting your releases Monitor Versa Networks SD-WAN performance in Datadog Improve performance and reliability with APM Recommendations Remediate transitive vulnerabilities faster with Datadog Software Composition Analysis Generate audit-ready vulnerability and compliance reports with Datadog Sheets Monitor Fortinet FortiManager performance in Datadog Improve test coverage across codebases with Datadog Code Coverage Move fast, don’t break things: Consistent testing standards at scale Enrich logs with ServiceNow CMDB context before routing to any SIEM or logging tool Monitor Lustre with Datadog Make faster, better product decisions with Datadog Product Analytics Surface and remediate runtime posture issues with Workload Protection Findings Protect agentic AI applications with Datadog AI Guard How to optimize JavaScript code with CSS Trace Google Pub/Sub workloads in Cloud Run with Datadog Detect human names in logs with ML in Sensitive Data Scanner How we cut our NLQ agent debugging time from hours to minutes with LLM Observability Debug PostgreSQL query latency faster with EXPLAIN ANALYZE in Datadog Database Monitoring Datadog acquires Propolis Unify and correlate frontend and backend data with retention filters Scale compliance across global frameworks with Datadog Cloud Security Monitor Arista VeloCloud SD-WAN performance with Datadog Building reliable dashboard agents with Datadog LLM Observability Simplify log collection and aggregation for MSSPs with Datadog Observability Pipelines Mitigation for Node.js denial-of-service vulnerability affecting Datadog APM Automate flaky test fixes with the Bits AI Dev Agent and Test Optimization How we built an AI SRE agent that investigates like a team of engineers Datadog integrations 2025 recap: Observability for AI, security, and hybrid cloud Design effective executive dashboards with Datadog Implement dbt data quality checks with dbt-expectations Bring faster visibility into AWS Lambda functions with remote instrumentation Troubleshoot faster with the GitLab Source Code integration in Datadog How Cambia Health Solutions saved $30,000 monthly with Cloud Cost Management and the Datadog Resource Catalog Normalize any logs for Cloud SIEM with Datadog's OCSF processor Optimizing Datadog at scale: Cost-efficient observability at Zendesk Detect, diagnose, and resolve network issues easily with CNM Network Health Connect engineering errors to user impact in early-stage products Cilium configuration for Kubernetes operations at scale Designing feedback loops for progressive delivery Ship features faster and safer with Datadog Feature Flags Choosing the right OpenTelemetry Collector distribution Route your monitor alerts with Datadog monitor notification rules Automate Cloud SIEM investigations with Bits AI Security Analyst Cloud threat detection: How to identify risky activity across control and data planes Collecting Kafka performance metrics Monitoring Kafka with Datadog Monitoring Kafka performance metrics
Analyze Ruby code performance with Datadog Continuous Profiler
Jordan Obey · 2022-02-02 · via Datadog | The Monitor blog

Ruby is an object-oriented programming language celebrated for its simple and easy-to-read syntax. It powers Ruby on Rails, the open source web development framework that streamlines common development tasks involved in building web applications. We’re pleased to announce that our Continuous Profiler, which provides low-overhead, code-level performance insights, is now generally available for Ruby applications. Continuous Profiler is always-on in production, so you can view how your Ruby code holds up under real-world conditions and identify which segments of your codebase can be optimized.

In this post, we’ll look at how Datadog Continuous Profiler enables you to easily view the resource usage of individual Ruby methods, correlate profiles and distributed traces, and compare profiles across versions, environments, and any other dimension you’re tracking in Datadog.

Quickly spot resource bottlenecks in your Ruby applications

As Ruby applications grow in size and complexity, identifying bottlenecks becomes more challenging. For instance, you may have hundreds of Rails routes mapped to controller actions and it may not be immediately clear which—if any—are consuming resources excessively. Continuous Profiler automatically collects representative stack traces and visualizes them in a flame graph, where each frame’s width corresponds to its resource usage. It also highlights the resource consumption of individual methods, libraries, and threads in a descending list, so you can isolate areas in need of optimization. For example, you may identify a Ruby method that is overconsuming CPU, which could indicate that it is executing more Active Record queries than you anticipated. To resolve this problem, you may consider implementing eager loading logic into your methods.

Datadog also provides a breakdown of resource consumption by endpoints (which are known as routes in Rails) so you can analyze how your application performs throughout different user journeys. For example, if you are investigating elevated CPU usage on an e-commerce application, you can use the endpoint list to see which workflow might be behind the issue. In the screenshot below, we can see significant CPU usage in the ProductsController#index endpoint.

Datadog provides a breakdown of resource consumption by endpoints so you can analyze code performance throughout different user journeys.

Correlate profiles and distributed traces

Continuous Profiler is tightly integrated with Datadog APM, which includes end-to-end distributed tracing across your entire stack. This means that if you’re investigating the traces of your Ruby application and you see requests with errors or high latency, you can dive into “Code Hotspots” and related profiles to uncover potential bottlenecks. The screenshot below, for instance, shows a 500 error on a request to the checkout endpoint of an e-commerce application. The “Code Hotspots” tab reveals that the initialize method took over a second to execute, which could point to an issue with the logic you’re using to instantiate a new checkout item.

use Code Hotspots to uncover potential bottlenecks.

Similarly, if a profile reveals an endpoint with excessive resource consumption, as was the case in the ProductsController#index endpoint in the previous section, you can pivot to APM to see which service or services are impacted.

Compare profiles to verify performance improvements

Once you’ve refactored your code to address a performance issue, it can be difficult to assess whether your changes have successfully reduced resource consumption—especially if you lack visibility into how your code has performed historically. Continuous Profiler integrates with Datadog Deployment Tracking, so you can compare profiles from previous versions of your codebase side-by-side with current profiles in order to verify that your updates were successful. Comparing profiles from different versions of your application is particularly useful when you’re deploying a canary release because it helps you confirm the efficacy of your changes before you deploy them widely.

In addition to comparing profiles from different versions of your application, you can also compare profiles that have different sets of Datadog tags. This capability allows you to compare performance, for example, between your staging and production environments, so you can identify and investigate any unexpected discrepancies.

A screenshot comparing profiles from two versions of a web-store service. The profiling data on the left is from version `11.4.1` and the data on the right is from version `11.4.2`.
A screenshot comparing profiles from two versions of a web-store service. The profiling data on the left is from version `11.4.1` and the data on the right is from version `11.4.2`.
A screenshot comparing profiles from two versions of a web-store service. The profiling data on the left is from version `11.4.1` and the data on the right is from version `11.4.2`.

Get started with Ruby profiling today

Datadog Continuous Profiler provides deep visibility into your codebase’s performance in production and is now generally available for Ruby, as well as Java, Python, and Go, with support for Node.js, .NET, and PHP on the way.

If you’re not already a Datadog customer, sign up for a 14-day free trial.