How to Read Datalog Graphs: AFR, Boost and Fuel
A datalog graph plots channels like AFR, boost and fuel pressure against time or rpm during a pull, and reading one means lining them up at the same moment rather than reading one line at a time. This guide covers what a healthy pull looks like, how to read boost against its target, and what a lean spike usually means when it shows up.
All 13 sections
The basics
What it is, what it changes, and whether you need it.
What a datalog graph is
A datalog graph is a plot of one or more channels, engine speed, air-fuel ratio, boost pressure, fuel pressure and more, against either time or engine speed while the car was being driven or run on a dyno. Each line on the graph is one channel's value at every logged instant, so a single graph can show several things the ECU and its sensors were doing at once, lined up against the same moment in the pull. See Datalogging: What to Log and Why for what a log itself is and how it gets captured before it ever becomes a graph.
The x axis, running left to right, is usually time in seconds for a single pull, or engine speed in rpm when a chart is meant to compare how a channel behaved at a given point in the rev range across more than one pull or more than one car. Either choice shows the same underlying data; time reads naturally as what happened first, second, third through one run, while rpm reads naturally as what was true at 4,000 rpm regardless of how quickly the engine got there.
This is different from a dyno graph, which plots wheel horsepower and torque against rpm from one steady pull and answers how much power the car makes. A datalog graph can cover the same pull, but its job is to show what the engine was actually doing underneath that power number, not the power number itself; see How to Read a Dyno Graph for the power side of the same pull.
| Part of the graph | What it shows |
|---|---|
| The x axis | What point in the pull each reading belongs to, in time or engine speed |
| The left y axis | The scale for the main channel plotted, such as AFR or injector duty |
| The right y axis (y2) | A second channel on its own scale, like boost, so two different units can share one chart |
| A numbered marker | A specific point in the pull worth reading, called out in the text beside it |
| A shaded band | A stretch of the pull worth reading as a group, not one instant |
Up the left: Air-fuel ratio (AFR, gasoline)Up the right: Boost (psi)Across: Time (seconds)
- AFR, actual (left scale)
- Boost, actual (right scale)
- At tip-in, AFR is still near 14.7, close to the stoichiometric ratio for gasoline.
- By two seconds in, AFR has settled into the low 12s as boost comes in and the engine reaches full load.
- Boost reaches its target of about 18 psi and holds flat through the middle of the pull.
- Near redline, boost eases slightly as rising exhaust flow becomes the limiting factor.
Sample data drawn to show the pattern, not a measurement of any real car.
The numbers behind this graph
| Time (seconds) | AFR, actual | Boost, actual |
|---|---|---|
| 0 | 14.7 | 0 |
| 0.25 | 14.1 | 1 |
| 0.5 | 13.5 | 3 |
| 1 | 12.6 | 9 |
| 1.5 | 12.2 | 14 |
| 2 | 12 | 17 |
| 3 | 11.9 | 18 |
| 4 | 11.8 | 18 |
| 5 | 11.8 | 18 |
| 6 | 11.9 | 18 |
| 7 | 11.9 | 17.5 |
| 8 | 12 | 17 |
Lining up channels at the same moment
Every line on a datalog graph shares the same x axis, so the most useful way to read one is to pick a moment, an instant in time or a specific rpm, and look straight up and down through every channel at that exact point, not to read one line all the way across before looking at another. A change on one channel almost always has a reason visible on another channel at that same instant.
For example, if AFR jumps leaner right as boost is also climbing fast, the two are probably related: a growing amount of air arriving faster than the fuel system can add fuel to match it. If AFR jumps leaner with boost sitting flat and steady, the cause is more likely somewhere else entirely, in the fuel system itself rather than in how much air the engine is pulling in.
Markers on a chart exist to point at exactly this kind of moment: a number on the graph next to a short sentence explaining what to notice there, so a reader does not have to guess which point on a busy graph matters. The rest of this guide uses markers the same way a tuner reads a real log, by number, referring back to the exact point on the graph being discussed.
AFR or lambda through a pull
Air-fuel ratio (AFR) describes how much air is mixed with each unit of fuel; lambda is the same idea expressed as a ratio to the stoichiometric point rather than as a raw number, where lambda 1.0 means exactly at stoichiometric regardless of the fuel. For gasoline, stoichiometric AFR is 14.7:1, the mixture that burns with neither excess air nor excess fuel.
At idle and light, steady cruise, an engine runs close to stoichiometric, since that is where the catalytic converter works most efficiently and where fuel economy is best. As throttle and load increase, the ECU commands a richer mixture, more fuel relative to air, which cools the combustion event and adds a margin against knock at the higher cylinder pressures load brings.
Under boost at wide-open throttle, that richening goes further still, since boost raises cylinder pressure and combustion temperature well beyond what a naturally aspirated engine sees at the same rpm. On a datalog graph, a healthy pull's AFR line shows this pattern clearly: near stoichiometric at tip-in, dropping steadily as load builds, then settling into a richer, roughly stable band once the engine is at full boost and staying there rather than drifting.
| Condition | Typical AFR target | Why |
|---|---|---|
| Idle and light cruise | Close to 14.7:1, stoichiometric | Runs the catalyst efficiently and keeps emissions in check |
| Light to moderate acceleration | Roughly 13.5 to 14.7:1 | Richens gradually as load builds, ahead of full wide-open-throttle enrichment |
| Wide-open throttle, naturally aspirated | Roughly 12.6 to 13.2:1 | Richer than cruise for cooling and knock margin under full load |
| Wide-open throttle, turbocharged | Roughly 11.5 to 12.1:1 | Richer still, since boost raises cylinder pressure and combustion temperature |
What a lean spike looks like, and what usually causes it
A lean spike is a clear, sudden rise in the AFR line, toward a leaner mixture, more air relative to fuel, at a point in the pull where the target calls for something richer. On a graph it shows as the AFR line jumping upward away from where it had been sitting, sometimes briefly, sometimes staying elevated for the rest of the pull.
A momentary lean spike at light load, during a gear change, or right at throttle lift-off is generally not the same concern as a sustained lean spike under full load and boost; context, what the rest of the channels were doing at that same moment, matters as much as the AFR number itself. A lean spike that appears and stays lean through the rest of a wide-open-throttle pull is the pattern worth taking seriously.
The most common causes, in no particular order, are a fuel pump or pressure regulator falling behind demand, injectors already close to their maximum duty cycle with no more fuel to give, and a boost overshoot pulling in more air than the fuel system was ready to match at that instant. See How to Size Fuel Injectors and Fuel Pump Upgrades for the two most common fuel-side causes in more depth.
A lean condition under load matters because it raises combustion temperature and reduces the engine's margin against knock, uncontrolled combustion that can damage an engine quickly at high load. See Reading Timing and Knock Logs for how a lean spike often shows up alongside a timing pull on the same log.
Choosing and fitting
How to pick one, what it needs alongside it, and the usual mistakes.
Boost target vs actual: spool, overshoot and creep
On a turbocharged or supercharged car, boost pressure is worth plotting against its target, the value the ECU is trying to hold at that rpm and load, not just as a single actual line. On a turbo car the ECU itself sets that target and adjusts the wastegate or an electronic boost controller to try to hit it; see What Does an ECU Tune Do? for how a tune sets targets like this one in the first place.
Spool is the ramp from zero to target as the turbo comes up to speed; how quickly it happens depends on turbo size, exhaust energy and gearing, and shows on the graph as the actual boost line climbing from the x axis toward the target line. Overshoot is actual boost briefly rising above target right as spool finishes, before the wastegate or boost controller has caught up and settled the line back down.
Creep is a slower, more persistent version of the same imbalance: actual boost drifting above target as rpm climbs, rather than a brief spike that settles. It usually happens because the wastegate's bypass passage is a fixed size, and at high rpm the exhaust volume reaching the turbine can outgrow what that passage can divert away from it, even with the gate held fully open; the wastegate is doing everything it can, but more exhaust than the target calls for still drives the turbine.
The opposite problem, boost falling off target near redline instead of creeping above it, points the other way: the turbo or exhaust system running out of flow capacity for the airflow the engine is asking for, rather than the wastegate letting too much through. Both patterns show up in the same place on a graph, actual boost parting from target at high rpm, so the direction it moves, above or below, is what tells them apart.
Up the left: Boost (psi)Across: Time (seconds)
- Boost, target
- Boost, actual
- Actual boost overshoots the 18 psi target by about 4 psi as boost builds faster than the wastegate settles.
- Boost settles back onto target through the middle of the pull.
- By redline, actual boost has crept back up to about 22 psi, 4 psi over target, boost creep from the wastegate unable to bypass enough exhaust at this rpm.
Sample data drawn to show the pattern, not a measurement of any real car.
The numbers behind this graph
| Time (seconds) | Boost, target | Boost, actual |
|---|---|---|
| 0 | 0 | 0 |
| 0.5 | 3 | 4 |
| 1 | 8 | 10 |
| 1.5 | 14 | 18 |
| 2 | 18 | 22 |
| 2.5 | 18 | 20 |
| 3 | 18 | 18.5 |
| 3.5 | 18 | 18 |
| 4 | 18 | 18 |
| 5 | 18 | 18.5 |
| 6 | 18 | 19.5 |
| 7 | 18 | 20.5 |
| 8 | 18 | 22 |
Fuel pressure through a pull
Fuel pressure is the pressure the fuel system holds at the injectors, and it behaves differently depending on the system design. On a return-style fuel system, the fuel pressure regulator is usually referenced to intake manifold pressure, meaning it adds boost pressure on top of a base reference pressure, so fuel pressure should climb roughly in step with boost and hold there once boost is flat.
A healthy log shows this directly: fuel pressure rising through spool alongside boost, then holding steady once both are at target for the rest of the pull. A fuel pump that is undersized for the car's fuel demand, a regulator that cannot keep up, a wiring or voltage problem starving the pump, or a clogged fuel filter restricting flow can all show the opposite: fuel pressure that starts to sag, drop below where it should be, once demand gets high enough, usually in the upper part of the rev range where injector flow demand peaks.
A returnless fuel system works differently, holding a fixed target pressure the ECU commands directly rather than one that tracks boost, so what healthy looks like on the graph depends on which type of system the car has. See Fuel Pump Upgrades for how a pump is sized to hold pressure at a given demand in the first place.
Injector duty cycle rising with rpm and load
Injector duty cycle is the percentage of each engine cycle an injector spends open, delivering fuel; see injector duty for how this is defined and How to Size Fuel Injectors for how a set is sized against a power target in the first place. On a datalog graph, duty cycle climbs steadily with rpm and load, since higher rpm means less time per cycle to deliver the same or more fuel, and higher load means more fuel is commanded in the first place.
A healthy pull holds duty cycle at the target power at or below roughly 80 to 85%, the common ceiling used for street builds, which leaves room for the injector to add more fuel if the tune or conditions call for it. Duty cycle climbing into the high 80s and 90s further up the rev range is a warning sign, since it means that headroom is closing; near 100%, the injector is essentially static, open almost continuously, and can no longer add meaningfully more fuel no matter what the tune or conditions call for.
Because duty cycle and AFR are directly connected, an injector pinned near its ceiling with nowhere left to go shows up on the AFR line too, usually as a lean drift or a lean spike right where duty cycle flattens out. Reading the two together, rather than duty cycle alone, is what confirms the injectors themselves are the limiting part rather than something else in the fuel system.
Up the left: Injector duty (%)Across: Engine speed (rpm)
- Injector duty
- By 3,000 rpm, duty is already past half, since more rpm and load both call for a longer pulse.
- Past 5,500 rpm, duty is above the common 80 to 85% street target and climbing into the high 80s, where headroom starts closing.
- At redline, duty reaches about 95%, close to static, where the injector can no longer add meaningfully more fuel.
Sample data drawn to show the pattern, not a measurement of any real car.
The numbers behind this graph
| Engine speed (rpm) | Injector duty |
|---|---|
| 2,000 | 34 |
| 2,250 | 38 |
| 2,500 | 42 |
| 2,750 | 47 |
| 3,000 | 52 |
| 3,250 | 57 |
| 3,500 | 62 |
| 3,750 | 66 |
| 4,000 | 70 |
| 4,250 | 74 |
| 4,500 | 77 |
| 4,750 | 80 |
| 5,000 | 83 |
| 5,250 | 85 |
| 5,500 | 87 |
| 5,750 | 89 |
| 6,000 | 91 |
| 6,250 | 92 |
| 6,500 | 93 |
| 6,750 | 94 |
| 7,000 | 95 |
Common mistakes reading a datalog graph
The most common mistake is reading one channel's single worst number in isolation, without checking what every other channel was doing at that exact same moment, which is covered in more detail in the callout below.
A second common mistake is comparing two different pulls, or two different logging sessions, without checking that both used a similar sample rate and the same axis choice, time or rpm. A pull logged at a slow sample rate can genuinely miss a brief spike a faster log would have caught, which can make one log look cleaner than another for reasons that have nothing to do with the car.
A third is treating a single data point as proof of a pattern. One lean reading on one pull, especially right at the very top of the rev range where a pull often ends, is worth checking against a second pull at the same point before concluding anything, since a pull cut slightly short or a single noisy sample can look identical to a real trend on a graph.
In depth
The numbers, the trade-offs and what goes wrong.
Reading channels together: a lean spike and fuel pressure falling
The clearest lean spikes to diagnose are the ones where more than one channel moves together at the same point in the pull, since a single channel moving alone can have several possible explanations while two channels moving together at the same instant usually narrows it down to one. The chart below shows this pattern directly: AFR and fuel pressure plotted against the same rpm axis, on their own scales, through a single wide-open-throttle pull.
A lean spike that rises this close to stoichiometric under boost, rather than staying in its richer target band, is dangerous, not just a number worth noting: cylinder pressure and combustion temperature are at their highest right where the fuel that should be cooling the charge and holding back knock is not being delivered. A spike like this is a reason to lift off the throttle and stop repeating the pull until the cause is understood, not a number to note and drive past.
Reading it means starting with the fuel pressure line rather than the AFR line: pressure climbs with rpm and boost through the midrange, as expected on a return-style system, then begins sagging past a certain point, before the AFR line moves at all. That order matters; the pressure sag is the cause, and the lean spike a few hundred rpm later is the effect, not the other way around.
A tuner reading this pull would check the exact rpm where pressure starts falling against the rpm where AFR starts rising, and treat a close match between the two as strong evidence that the fuel supply, not the injectors or the boost control, is the limiting part at that point in the rev range. Falling fuel pressure like this is a common cause of a lean spike, but it is one of several: pump capacity reaching its limit, low voltage reaching the pump, a restricted fuel filter, and a regulator that cannot hold its reference pressure can all produce the same sagging pressure line, so the sag points at the fuel supply without yet saying which part of it is at fault.
Up the left: Air-fuel ratio (AFR, gasoline)Up the right: Fuel pressure (psi)Across: Engine speed (rpm)
- AFR, actual (left scale)
- Fuel pressure, actual (right scale)
- Fuel pressure climbs with boost and peaks around 61 psi in the midrange, typical of a return system referenced to boost.
- Past 6,000 rpm, fuel pressure starts to sag: the fuel system is falling behind demand.
- AFR spikes to about 14.7, a lean spike, at the same rpm fuel pressure bottoms out.
- Fuel pressure bottoms near 47 psi at the same point, the two lines pointing at the same cause.
Sample data drawn to show the pattern, not a measurement of any real car.
The numbers behind this graph
| Engine speed (rpm) | AFR, actual | Fuel pressure, actual |
|---|---|---|
| 2,000 | 12.6 | 44 |
| 2,500 | 12.3 | 48 |
| 3,000 | 12.1 | 53 |
| 3,500 | 12 | 57 |
| 4,000 | 11.9 | 60 |
| 4,500 | 11.9 | 61 |
| 5,000 | 11.9 | 61 |
| 5,500 | 12 | 60 |
| 6,000 | 12.4 | 57 |
| 6,300 | 13.6 | 52 |
| 6,600 | 14.7 | 47 |
| 7,000 | 14.3 | 49 |
Telling the causes of a lean spike apart
A pump falling behind demand, a wiring or voltage problem that keeps the pump from spinning at full speed, a clogged fuel filter restricting flow, and a regulator that cannot hold reference pressure can all show up as fuel pressure sagging on the graph, and telling them apart usually needs more than the graph alone: a pump nearing its flow capacity, a filter restriction, or a voltage problem all tend to sag gradually as rpm and demand climb, while a failing or undersized regulator can show a sharper, more sudden drop once demand crosses a threshold.
An injector duty cycle ceiling looks different on the graph: fuel pressure holds steady right through the lean spike, since the fuel system itself is keeping up, while duty cycle is already near 100% at the same rpm the AFR line goes lean. In that pattern, the injectors themselves, not the pump or the pressure, are what is out of fuel to give.
A boost overshoot causes a shorter-lived version of the same symptom: AFR moves lean briefly right as boost spikes above target, then both settle back together within a second or two, with fuel pressure and duty cycle staying essentially unaffected throughout. That short, self-correcting pattern generally points at boost control needing attention rather than the fuel system.
| Pattern on the graph | Likely cause | What to check next |
|---|---|---|
| Boost spikes above target right after spool, then settles | Wastegate or boost controller reacting slightly behind the turbo's response | Wastegate duty cycle or boost controller gain settings |
| Boost drifts above target as rpm climbs (creep) | Wastegate bypass capacity outgrown by rising exhaust flow at high rpm | Wastegate size and flow capacity, exhaust backpressure, and boost controller duty cycle at high rpm |
| Boost tapers below target near redline | Exhaust flow or turbo sizing becoming the limit at that airflow | Exhaust backpressure and turbo matching for the car's power level |
| AFR spikes lean with duty cycle already near its ceiling | Injectors sized too small for the power being asked of them | Injector duty cycle through the whole pull, not just at the spike |
| AFR spikes lean while fuel pressure sags at the same moment | Fuel pump or pressure regulator falling behind demand | Fuel pressure against the boost-referenced target through the pull |
The physics of boost overshoot, creep and falling off at high rpm
A wastegate holds boost to target by bleeding a controlled amount of exhaust gas around the turbine rather than through it, reducing how hard the turbine spins the compressor. Overshoot happens because the wastegate, whether a simple spring-loaded valve or one commanded electronically, reacts to pressure that has already built rather than pressure that is about to build, so there is always a small lag between boost rising and the gate opening enough to check it.
Creep usually happens because the wastegate's bypass passage is a fixed size, and at high rpm the exhaust volume trying to reach the turbine can exceed what that passage can divert away, even with the gate held fully open. The wastegate is not failing to hold closed; there is simply not enough bypass capacity for all the extra exhaust, so a small amount more than the target calls for still drives the turbine. This tends to get worse, not better, as rpm climbs, since exhaust energy generally rises with rpm, which is why creep is usually seen late in a pull rather than at low rpm.
Falling off at high rpm is close to the opposite condition: the turbo and exhaust system running out of flow capacity for the airflow the engine is asking for, rather than the wastegate letting too much through. A turbo sized correctly for a given power target can still show this pattern if the power target grows past what that turbine and compressor combination can support, which is a sizing question rather than a wastegate adjustment.
Both patterns are worth checking against the boost controller's own settings before assuming a hardware problem: an electronic boost controller with its duty cycle or gain set incorrectly for the turbo and wastegate combination on the car can produce either overshoot or creep even with otherwise healthy hardware.
Fuel pressure on a return system: the boost-referenced target
On a return-style fuel system, the regulator is typically referenced 1:1 to intake manifold pressure through a vacuum and boost hose connected to its diaphragm, so the fuel pressure it holds rises by the same amount boost rises. Fuel pressure at any point in the pull should equal a base reference pressure, the pressure the regulator holds with the engine off boost, plus whatever boost is showing at that same instant.
This 1:1 relationship is why fuel pressure and boost are worth reading together rather than fuel pressure alone: a fuel pressure reading that looks fine in isolation can still be wrong for the boost showing at that exact moment, and a fuel pressure reading that looks low in isolation can be exactly right if boost has not built yet either.
A pressure gauge or sensor reading that never moves at all as boost changes, staying flat through the whole pull, points at the reference line itself rather than the fuel system: a pinched, disconnected or blocked vacuum and boost line to the regulator keeps it referenced to a fixed pressure instead of tracking boost, and shows up as a fuel pressure line that looks disconnected from what boost is doing on the same graph.
What tuners check before trusting a graph
Sample rate matters more at the top of a pull than anywhere else, since events happen fastest there: rpm is changing quickly, boost is near its most sensitive point, and a lean spike or a knock event that lasts a fraction of a second can be entirely missed by a log sampling too slowly to catch it, and show up as a smooth line where the real value spiked and recovered between samples.
A wideband oxygen sensor used for AFR has its own response lag, generally faster than most other sensors but not instant, so a very brief lean spike can read slightly delayed or slightly blunted on the graph compared to the instant it actually happened in the cylinder. How much lag depends on the specific sensor, the controller reading it, and how fast the log itself samples, so there is no single duration that separates a real spike from an artifact; a very short spike is worth checking against whether it repeats on another pull and whether it lines up with other channels moving at the same moment, rather than trusting a single brief reading on its own.
Most tuners build up to a full pull in stages after any change to the fuel system, boost control, or a tune itself, checking AFR, fuel pressure, boost and duty cycle at each step rather than going straight to a wide-open-throttle run at redline. That staged approach catches a graph pattern like the ones in this guide at partial load, where it is a nuisance to fix, instead of at full load, where the same pattern is a lean condition at the highest cylinder pressures the engine sees.
Questions people ask
- Should I log against time or against rpm?
- Either can be right depending on the question. Time reads naturally for a single pull, since it shows things unfolding in order, while rpm is more useful for comparing how a channel behaved at a given point in the rev range across more than one pull or more than one car.
- What counts as a lean spike, and is any lean reading a problem?
- A lean spike is a clear, noticeable rise in the AFR line above what the pull's target calls for at that point. A brief lean reading at light load or during a gear change is a different concern from a sustained lean spike under full load and boost, so context matters as much as the number itself.
- Why does boost overshoot and then settle back to target?
- The wastegate or boost controller reacts to boost that has already built rather than boost that is about to build, so there is a small lag before it opens enough to check the pressure. That lag shows up as a brief spike above target right as spool finishes, before the line settles back down.
- What is boost creep and why does it get worse toward redline?
- Boost creep is actual boost drifting above target as rpm climbs, because the wastegate's bypass passage cannot divert enough exhaust around the turbine at high rpm, even fully open. It tends to worsen toward redline since exhaust energy generally rises with rpm.
- Why does fuel pressure rise as boost builds?
- On a return-style fuel system, the pressure regulator is usually referenced 1:1 to boost, so fuel pressure equals a base reference pressure plus whatever boost is showing at that moment. Fuel pressure and boost are worth reading together for this reason.
- How do I tell whether a lean spike is caused by fuel pressure, injector duty or boost?
- Line up the channels at the same moment: fuel pressure sagging while duty cycle still has headroom points at the pump or regulator; duty cycle already pinned near its ceiling with pressure holding steady points at the injectors; a short-lived lean spike matching a boost overshoot, with pressure and duty otherwise unaffected, points at boost control.
- Why does AFR read close to 14.7 at cruise but much richer under boost?
- Close to stoichiometric at cruise runs the catalyst efficiently and gives the best fuel economy. Under boost at wide-open throttle, cylinder pressure and combustion temperature both rise well beyond cruise levels, so a richer mixture is commanded for cooling and knock margin.
- Can a slow logger or sensor lag make a lean spike look worse or hide one?
- Yes. A slow sample rate can miss a brief spike entirely, and a wideband oxygen sensor has its own response lag, so a very short lean event can read as blunted or slightly delayed compared to when it actually happened. This is one reason a single strange reading is worth checking against a second pull before treating it as a real pattern.
Read next
- Datalogging: What to Log and Why
A datalog is a recording of what the engine was actually doing under a tune. What channels to log, how to read a pull, and the signs of trouble to look for.
- Reading Ignition Timing and Knock Logs
How ignition timing and knock retard read in a datalog, why timing drops under boost, and how to tell real knock from sensor or mechanical noise.
- How to Size Fuel Injectors
What injector flow ratings mean, the formula for sizing a set, and why duty cycle, fuel pressure and dead time all matter.
- Fuel Pump Upgrades: When and What Size
How in-tank lift pumps are rated, why free-flow numbers mislead, and the symptoms that show a pump is running out.
- How to Read a Dyno Graph
A dyno graph plots power and torque against rpm. This guide covers the axes, before/after overlays, and spotting a dip, an early fall-off or boost creep.
Reviewed 2026-09-25