HP Tuners Datalog Channels Explained: What Every Number Actually Means
You have a datalog open and no idea what you are looking at. Here is what each channel measures, what a healthy value looks like, and which five numbers decide whether the tune is safe.
By TuneVault

You captured a log, opened it, and were met with a wall of columns and squiggly lines. This is the point where most people either close the file or start changing tables based on the one number they recognize. Both are mistakes, and neither is necessary — a datalog is far more readable than it looks once you know which handful of channels carry the weight.
The short answer first: on any log, read RPM, engine load, commanded versus actual air-fuel ratio, knock retard, and fuel pressure, and read them only across the highest-load section of the log. If knock retard is zero, actual air-fuel ratio is tracking what was commanded, and fuel pressure is holding steady, the pull was safe. Everything else in the file is refinement, and refinement can wait.
Here is what each of the channels you will encounter actually measures.
The five channels that decide safety
These are the ones that answer "did I just hurt the engine," and they are the only ones that matter on a first read.
RPM and engine load are the coordinate system, not findings in themselves. Every other channel is meaningless without knowing where in the load and RPM map it was recorded. Load is expressed differently on different platforms — as a percentage, as manifold pressure, or as a calculated cylinder-fill value — but it always answers the same question: how hard is the engine working right now. Find where load peaks and RPM is climbing steadily. That is a wide-open-throttle pull, and it is where engines die.
Commanded versus actual air-fuel ratio is the fuel system's honesty check. Commanded is what the calibration asked for; actual is what a wideband oxygen sensor measured. They should track closely under load. When actual runs leaner than commanded at high load, the fuel system is out of capability or the calibration's idea of its injectors is wrong — and a lean wide-open-throttle pull is the fastest route to a holed piston. Note that a factory narrowband sensor cannot report this: it is a switching device built to hold stoichiometric in closed loop and it goes blind exactly where you need it most.
Knock retard is the ECU reporting that it heard detonation and pulled timing to protect itself. On a properly calibrated engine at wide-open throttle, this should read zero. Isolated single-digit blips during a shift or over a pothole are frequently false knock — the sensor is a microphone and mechanical noise can fool it. Sustained retard that grows with load or RPM is the real thing, and it means back the timing off before you add anything. Our knock retard reference covers how to distinguish the two patterns.
Fuel pressure under load is the channel most people forget and the one that explains a large share of unexplained lean-outs. A fuel system that holds pressure at idle can fall on its face at maximum injector demand. If pressure sags as RPM climbs, no amount of fuel-table editing will fix it — the pump, the lines, or the regulator is the constraint.
Intake air temperature is the slow-moving risk. Hot charge air is more knock-prone, so a calibration validated on a cool morning is not validated for an August afternoon or for the third back-to-back pull after the intake has heat-soaked. Watch how steeply it climbs between pulls.
The channel reference table
Once the safety five look clean, these are the channels that shape the calibration.
| Channel | What it measures | What healthy looks like | What a problem looks like |
|---|---|---|---|
| Commanded AFR / lambda | The fueling target the calibration asked for | Richer than stoichiometric under high load | Target unchanged while actual drifts away |
| Actual AFR / wideband lambda | What the exhaust gas actually measured | Tracks commanded closely under load | Leaning out as RPM or boost climbs |
| Knock retard | Timing the ECU removed after hearing detonation | Zero at wide-open throttle | Sustained retard that scales with load |
| Spark advance | Degrees before top-dead-center the plug fired | Smooth, matching the calibrated table | Sawtooth swings as knock control fights back |
| Fuel pressure | Rail pressure available to the injectors | Flat across the pull | Sagging at high RPM and high demand |
| Injector duty cycle | Percentage of available time injectors are open | Meaningful headroom left at peak | Approaching saturation — no reserve fueling |
| Short and long-term fuel trims | Corrections the ECU applies to hit its target | Near zero across the cruise range | Large or load-dependent swings |
| Mass airflow | Measured incoming air | Rising smoothly with load, below sensor ceiling | Flattening at the top — sensor saturation |
| Manifold absolute pressure | Pressure in the intake manifold | Matches expected boost or vacuum | Diverging from the boost target |
| Intake air temperature | Charge air temperature entering the engine | Modest rise across a pull | Steep climb between back-to-back pulls |
| Coolant temperature | Engine operating temperature | Stable and at normal operating range | Climbing during testing — stop and cool |
You do not need every one of these on every log. In fact a log crowded with fifty channels sampled slowly is worse than a focused log with twelve channels sampled quickly, because sample rate is shared. Log what the question needs.
How to actually read a log, in order
The reading order matters more than the channel list, because reading out of order leads you to fix symptoms.
First, confirm the log is valid. Was the engine at normal operating temperature? Did the pull actually reach the load and RPM range you care about? Was the wideband warmed up and calibrated? An invalid log will happily produce confident wrong conclusions.
Second, scan for the safety five across the highest-load section. Zero knock, actual tracking commanded, fuel pressure flat. If any of those fails, that is your entire finding — stop, fix it, log again. Do not proceed to refinement with a safety failure on the record.
Third, check the supporting data. Look at fuel trims across cruise. If short and long-term trims sit near zero, your airflow model is honest, which means the fueling numbers at high load can be trusted. If they swing with load, fix the MAF or VE calibration before anything else — every downstream number inherits that error. The same applies to injector characterization: wrong slope or offset data makes the ECU wrong about how much fuel it just delivered.
Fourth, and only now, look at power. With safety confirmed and supporting data honest, the log becomes a tool for optimization rather than survival. This is where spark advance and boost targets get refined, one change at a time.
That order is deliberately unglamorous. It is also the difference between a car that gets faster every session and one that gets a new problem every session.
Reading between the channels
Some of the most useful findings come from the relationship between channels rather than from any single one.
Spark advance sawtoothing — timing repeatedly climbing then dropping — usually means the knock control system is actively fighting your calibration. The engine is not detonating continuously, but it is on the edge continuously, and the ECU is doing the work your tune should have done.
Actual air-fuel ratio going lean exactly as injector duty cycle approaches its ceiling is not a fuel-table problem. It is the injectors running out of time. No table change fixes it; larger injectors or more fuel pressure does, and then the injector data has to be updated to match. The injector size calculator is a fast sanity check on whether you have headroom at all.
Mass airflow flattening at the top of a pull while manifold pressure keeps climbing is a saturated sensor. The ECU has stopped receiving accurate airflow information at the exact moment fueling accuracy matters most — a common cause of high-RPM lean-out on modified cars.
Knock appearing only on later pulls with intake air temperature elevated is a heat story, not a timing story. The calibration is fine cold and marginal hot, which means it needs validating at the hot end rather than a blanket timing cut.
Each of these is a pattern, not a number, which is why a channel-by-channel checklist alone is not enough. If reading patterns across a wall of columns is the part you want help with, that is what our datalog analysis does — it flags findings by severity and names the single next change rather than handing you more graphs.
Common misreadings that cost people engines
Treating false knock as real. Chopping timing globally because of a couple of isolated blips over rough pavement leaves power on the table and does not address anything. Look for the pattern, not the spike.
Trusting a narrowband at wide-open throttle. The factory sensor's job is closed-loop stoichiometric control. Under power enrichment it cannot report your actual ratio. If your only oxygen data is narrowband, you do not have wide-open-throttle fueling data at all.
Reading average values instead of worst case. The average air-fuel ratio across a pull can look perfect while a two-tenths-of-a-second lean spike at peak torque quietly does the damage. Tuning is a worst-case discipline.
Changing more than one thing between logs. If you adjust timing and fueling together and the next log improves, you have learned nothing about which change helped — and if it worsens, nothing about which one hurt. One variable at a time is slower for exactly one session and faster forever after.
The bottom line
A datalog is not a wall of numbers; it is a witness statement about what your engine actually did. Read the five safety channels across the highest-load section first, confirm your supporting data is honest through fuel trims, and only then chase power. Watch relationships between channels rather than isolated values, and log with a specific question in mind rather than logging everything at once.
Do that consistently and the log stops being intimidating and starts being the most valuable tool you own — the objective record that turns a guess into a measured change. The ECU tuning fundamentals article puts this loop in the wider context of what tuning changes and why, and the how to read a datalog guide walks through a complete log step by step. When you are ready to have your own log read channel by channel, upload it here.
Frequently asked questions
I have a datalog but I do not understand what I am looking at. Where do I start?
Start with five channels and ignore everything else on the first pass: RPM, engine load, commanded versus actual air-fuel ratio, knock retard, and fuel pressure. Find the section of the log where load is highest and RPM is climbing — that is a wide-open-throttle pull, and it is where damage happens. Read those five channels across that section only. If knock retard is zero, actual air-fuel ratio is tracking commanded, and fuel pressure is holding, the pull was safe. Everything else in the log is refinement.
What is a healthy knock retard value?
Zero degrees under wide-open throttle on a properly calibrated engine. Small, isolated single-digit blips during gear changes or over rough pavement are often false knock from mechanical noise rather than real detonation. What is never acceptable is sustained retard that grows with load or RPM — that is the ECU telling you it is protecting the engine from your calibration, and it is a signal to pull timing, not to keep pulling.
What does it mean when actual AFR does not match commanded AFR?
It means the fuel system is not delivering what the calibration asked for. If actual is leaner than commanded under load, suspect injectors at their limit, insufficient fuel pressure, or wrong injector data in the tune. If actual is richer than commanded, suspect an airflow model reading low or injector data that overstates flow. Either way, the fix is upstream in supporting data — correcting it by editing the fuel table just hides the real error.
Why do my fuel trims matter if I am tuning for wide-open throttle?
Because fuel trims are your airflow model's report card. If short and long-term trims sit near zero across the cruise range, the ECU's picture of airflow is honest, and the fuel decisions it makes at high load inherit that accuracy. If trims swing widely with load, the airflow model is wrong, and every high-load fueling number is built on that error.
How long should a datalog be?
Long enough to include what you are evaluating and short enough to read. For verifying a wide-open-throttle change, a few complete pulls through the RPM range in the same gear is far more useful than twenty minutes of mixed driving. For validating fueling and airflow, a longer drive across varied load and temperature is what you want. Two logs for two purposes beats one log that half-covers both.
What is intake air temperature telling me?
How knock-prone the incoming charge is. Hot air resists a clean burn less well, so the same timing that was safe on a cool morning can provoke detonation on a hot afternoon or after repeated pulls have heat-soaked the intake. If your intake air temperature climbs steeply between back-to-back pulls, your calibration needs to be validated at the high end of that range, not just the first cool pull.
Can a datalog tell me a mechanical problem is not a tuning problem?
Often, yes, and that is one of its most valuable uses. A misfire that appears at one specific RPM regardless of load, fuel pressure that collapses at a repeatable point, or a sensor reading that goes implausible instantly rather than gradually all point at hardware rather than calibration. Changing tables to chase a mechanical fault makes the tune worse and leaves the fault in place.