Loading...
tools/trace/bridgetime.lua xnu-12377.101.15 /dev/null
--- xnu/xnu-12377.101.15/tools/trace/bridgetime.lua
+++ /dev/null
@@ -1,142 +0,0 @@
-#!/usr/local/bin/luatrace -s
-
-trace_codename = function(codename, callback)
-	local debugid = trace.debugid(codename)
-	if debugid ~= 0 then
-		trace.single(debugid,callback)
-	else
-		printf("WARNING: Cannot locate debugid for '%s'\n", codename)
-	end
-end
-
-initial_timestamp = 0
-get_prefix = function(buf, char)
-	-- if initial_timestamp == 0 then
-		-- initial_timestamp = buf.timestamp
-	-- end
-	local secs = trace.convert_timestamp_to_nanoseconds(buf.timestamp - initial_timestamp) / 1000000000
-
-	return string.format("%s %6.9f %-30s",
-		char, secs, buf.debugname)
-end
-
-initial_arm_timestamp = 0
-format_timestamp_arm = function(ts)
-	local secs = trace.convert_timestamp_to_nanoseconds(ts - initial_arm_timestamp) / 1000000000
-	return string.format("%6.9f", secs);
-end
-
-initial_intel_timestamp = 0
-format_timestamp_intel = function(ts)
-	local secs = (ts - initial_intel_timestamp) / 1000000000
-	return string.format("%6.9f", secs);
-end
-
-format_timestamp_ns = function(ts)
-	local secs = (ts) / 1000000000
-	return string.format("%6.9f", secs);
-end
-
-trace_codename("MACH_CLOCK_BRIDGE_RESET_TS", function(buf)
-	local prefix = get_prefix(buf, "X")
-	local reason = "UNKNOWN";
-	if buf[3] == 1 then
-		reason = "RecvSentinel"
-	elseif buf[3] == 2 then
-		reason = "ResetTrue"
-	elseif buf[3] == 3 then
-		reason = "RateZero"
-	elseif buf[3] == 4 then
-		reason = "TSMismatch"
-	end
-	printf("%s %-15s ( %-10s %-10s ) ----------------------------------------\n",
-		prefix, reason, format_timestamp_arm(buf[1]), format_timestamp_intel(buf[2]))
-
-	-- initial_arm_timestamp = buf[1]
-	-- initial_intel_timestamp = buf[2]
-end)
-
-trace_codename("MACH_CLOCK_BRIDGE_TS_PARAMS", function(buf)
-	local prefix = get_prefix(buf, ">")
-
-	local rate
-	if darwin.uint64_to_double then
-		rate = darwin.uint64_to_double(buf[3])
-	else
-		rate = math.nan
-	end
-
-	printf("%s %30s( %-10s %-10s ) rate = %f\n",
-		prefix, "", format_timestamp_ns(buf[1]), format_timestamp_intel(buf[2]),
-		rate)
-end)
-
-trace_codename("MACH_CLOCK_BRIDGE_REMOTE_TIME", function(buf)
-	local prefix = get_prefix(buf, "-")
-
-	printf("%s ( %-10s %-10s ) @ %-20s\n",
-		prefix, format_timestamp_arm(buf[1]), format_timestamp_intel(buf[2]), format_timestamp_arm(buf[3]))
-end)
-
-trace_codename("MACH_CLOCK_BRIDGE_RCV_TS", function(buf)
-	local prefix = get_prefix(buf, "<")
-
-	if buf[2] == 0xfffffffffffffffe then
-		printf("%s ( %-10s  Sleep )\n",
-			prefix, format_timestamp_arm(buf[1]), format_timestamp_intel(buf[2]))
-	elseif buf[2] == 0xfffffffffffffffd then
-		printf("%s ( %-10s Wake )\n",
-			prefix, format_timestamp_arm(buf[1]), format_timestamp_intel(buf[2]))
-	elseif buf[2] == 0xfffffffffffffffc then
-		printf("%s ( %-10s Reset )\n",
-			prefix, format_timestamp_arm(buf[1]), format_timestamp_intel(buf[2]))
-	else
-		local skip = ""
-		if buf[1] == 0 then
-			skip = "Int handler"
-		end
-		printf("%s ( %-10s %-10s ) %s\n",
-			prefix, format_timestamp_arm(buf[1]), format_timestamp_intel(buf[2]), skip)
-	end
-
-end)
-
-trace_codename("MACH_CLOCK_BRIDGE_SKIP_TS", function(buf)
-	local prefix = get_prefix(buf, "*")
-
-	if buf[4] > 0 then
-		printf("%s SKIP_RESET:%3d (Cur: %-10s Prev:%-10s) %-10s\n",
-			prefix, buf[4], format_timestamp_arm(buf[1]), format_timestamp_arm(buf[3]),
-			format_timestamp_intel(buf[2]))
-	else
-		printf("%s SKIP_DISTANCE: (Cur: %-10s Prev: %-10s) %-10s\n",
-			prefix, format_timestamp_arm(buf[1]), format_timestamp_arm(buf[3]),
-			format_timestamp_intel(buf[2]))
-	end
-
-end)
-
-trace_codename("MACH_CLOCK_BRIDGE_TS_MISMATCH", function(buf)
-	local prefix = get_prefix(buf, "?")
-
-	local diff = (math.abs(buf[2] - buf[3]))/1000000
-
-	printf("%s ( Cur: %-10s Pred: %-10s Diff: %5.6f ms Count: %d ) @ %-20s\n",
-		prefix, format_timestamp_intel(buf[2]), format_timestamp_intel(buf[3]),
-		diff, buf[4], format_timestamp_arm(buf[1]))
-
-end)
-
-trace_codename("MACH_CLOCK_BRIDGE_OBSV_RATE", function(buf)
-	local prefix = get_prefix(buf, "=")
-
-	local rate
-	if darwin.uint64_to_double then
-		rate = darwin.uint64_to_double(buf[1])
-	else
-		rate = math.nan
-	end
-
-	printf("%s obsv_rate = %f exceeded limits(0.8, 1.2)\n", prefix, rate)
-
-end)