How to Shift Left with Code Profiling
May 12, 2021

Madeline Horton
Stackify

Share this

What is "Shifting Left?"

Development teams who utilize shift left practices typically employ frequent testing to speed up project deliverability and allow for better adherence to project timelines.

In Agile, development and testing work in tandem, with testing being performed at each stage of the software delivery lifecycle, also known as the SDLC. This combination of development and testing is known as "shifting left." Shift left is a software development testing practice intended to resolve any errors or performance bottlenecks as early in the software development lifecycle (SDLC) as possible.

Before Agile, software testing was performed using the waterfall methodology. When using the waterfall methodology, all testing occurs prior to deployment — from the non-production environments to the production environments. Through waterfall pre-deployment testing, issues are found in the code far too late and the release is inevitably delayed until all bottlenecks are fixed. Then, the code re-enters a testing period, which continues until all bugs are resolved and the code is deployed into the production environment. Waterfall methodology often negatively impacts the project’s deliverability and timeline. Increased time to market directly correlates with business revenue.

How Can I "Shift Left?"

In order to properly shift left, continuous testing must begin as soon as a developer starts to write code. A code profiler is one way of receiving immediate feedback and implementing a continuous testing loop in the preliminary stages of development.

Code profiling is one tool developers use to shift left and utilize frequent testing throughout the SDLC. Why? Fixing code directly while writing it on the developer’s workstation is essentially shifting as far left as possible. By shifting this far left, issues are found even before committing the code to a QA or non-production environment.

Traditionally, developers have used code profilers to identify performance bottlenecks without having to constantly touch their code. Code profilers are useful in answering questions such as "How many times is each method being called in my code" or "How long are these methods taking?" Additionally, code profilers track useful information such as memory allocation, garbage collection, web requests, and key methods in your code.

There are two types of code profilers: server-side profilers and desktop profilers. Server-side profilers track key performance methods in both pre-production and production environments to measure transaction timing and increased visibility into errors and logs. Another term for server-side profiling is Application Performance Management, or APM.

A desktop code profiler tracks the performance of every line of code within an individual method as well as tracking memory allocations and garbage collection to aid with memory leaks. Unfortunately, desktop profiling often causes applications to run slower than usual. In return, most developers utilize desktop profilers as a situational tool and not for daily use. Usually, developers only use code profilers when investigating a CPU or memory problem.

In order to provide both the granularity of a desktop code profiler and the light-weight nature of a server-side profiler, there are hybrid profilers. In a sense, hybrid profilers serve as the best of both worlds — merging key data from the server-side profiler with code-level details from the desktop profiler. Their light-weight nature is perfect for everyday use with server level insights and the ability to track key methods, transactions, dependency calls, errors, and logs.

What Code Profiler Should I Pick?

After evaluating the importance of a code profiler when implementing shift left methodology, it is important to keep in mind a few things. Often, profilers need to be built into the code itself. This is the reason why most desktop code profilers cause applications to run slow and are only utilized in specific circumstances. When looking at application performance management tools, note that most APMs require code or multiple configuration changes.

Whether you implement shift left methodology via a server-side, desktop, or hybrid code profiler, profilers are imperative for finding the hot path in your code. For example, a code profiler can be used to find what is using the 20% of the total CPU usage within your code. Then, your code profiler can help determine what you can do to improve your code.

Additionally, you can utilize a code profiler for proactively finding memory leaks as well as dependency call and transaction performance.

Code profilers are a necessary tool for constantly testing and improving your code throughout the SDLC as profilers can help look for the methods that can lead to the greatest improvement over time.

Madeline Horton is a Campaign Marketing Strategist at Stackify
Share this

The Latest

October 21, 2021

Scaling DevOps and SRE practices is critical to accelerating the release of high-quality digital services. However, siloed teams, manual approaches, and increasingly complex tooling slow innovation and make teams more reactive than proactive, impeding their ability to drive value for the business, according to a new report from Dynatrace, Deep Cloud Observability and Advanced AIOps are Key to Scaling DevOps Practices ...

October 20, 2021

Over three quarters (79%) of database professionals are now using either a paid-for or in-house monitoring tool, according to a new survey from Redgate Software ...

October 19, 2021

Gartner announced the top strategic technology trends that organizations need to explore in 2022. With CEOs and Boards striving to find growth through direct digital connections with customers, CIOs' priorities must reflect the same business imperatives, which run through each of Gartner's top strategic tech trends for 2022 ...

October 18, 2021

Distributed tracing has been growing in popularity as a primary tool for investigating performance issues in microservices systems. Our recent DevOps Pulse survey shows a 38% increase year-over-year in organizations' tracing use. Furthermore, 64% of those respondents who are not yet using tracing indicated plans to adopt it in the next two years ...

October 14, 2021

Businesses are embracing artificial intelligence (AI) technologies to improve network performance and security, according to a new State of AIOps Study, conducted by ZK Research and Masergy ...

October 13, 2021

What may have appeared to be a stopgap solution in the spring of 2020 is now clearly our new workplace reality: It's impossible to walk back so many of the developments in workflow we've seen since then. The question is no longer when we'll all get back to the office, but how the companies that are lagging in their technological ability to facilitate remote work can catch up ...

October 12, 2021

The pandemic accelerated organizations' journey to the cloud to enable agile, on-demand, flexible access to resources, helping them align with a digital business's dynamic needs. We heard from many of our customers at the start of lockdown last year, saying they had to shift to a remote work environment, seemingly overnight, and this effort was heavily cloud-reliant. However, blindly forging ahead can backfire ...

October 07, 2021

SmartBear recently released the results of its 2021 State of Software Quality | Testing survey. I doubt you'll be surprised to hear that a "lack of time" was reported as the number one challenge to doing more testing, especially as release frequencies continue to increase. However, it was disheartening to see that a lack of time was also the number one response when we asked people to identify the biggest blocker to professional development ...

October 06, 2021

The role of the CIO is evolving with an increased focus on unlocking customer connections through service innovation, according to the 2021 Global CIO Survey. The study reveals the shift in the role of the CIO with the majority of CIO respondents stating innovation, operational efficiency, and customer experience as their top priorities ...

October 05, 2021

The perception of IT support has dramatically improved thanks to the successful response of service desks to the pandemic, lockdowns and working from home, according to new research from the Service Desk Institute (SDI), sponsored by Sunrise Software ...