diff --git a/.DS_Store b/.DS_Store index 284f858..01dfb69 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/.gitignore b/.gitignore index 3562f45..4c00f19 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .vscode/ dist/ +bin/ diff --git a/cover.out b/cover.out index b2ff209..f89a3c2 100644 --- a/cover.out +++ b/cover.out @@ -1,4 +1,8 @@ mode: atomic +github.com/george-maroun/tracecheck/internal/stringutil/is.go:6.29,7.22 1 4 +github.com/george-maroun/tracecheck/internal/stringutil/is.go:7.22,8.25 1 9 +github.com/george-maroun/tracecheck/internal/stringutil/is.go:8.25,11.4 1 2 +github.com/george-maroun/tracecheck/internal/stringutil/is.go:14.2,14.13 1 2 github.com/george-maroun/tracecheck/internal/bytebufferpool/pool.go:9.26,11.3 1 1 github.com/george-maroun/tracecheck/internal/bytebufferpool/pool.go:14.26,18.2 3 1 github.com/george-maroun/tracecheck/internal/bytebufferpool/pool.go:20.29,22.2 1 1 @@ -76,40 +80,36 @@ github.com/george-maroun/tracecheck/internal/sets/string.go:43.41,45.13 2 3 github.com/george-maroun/tracecheck/internal/sets/string.go:45.13,48.3 2 1 github.com/george-maroun/tracecheck/internal/sets/string.go:50.2,53.12 4 2 github.com/george-maroun/tracecheck/internal/sets/string.go:57.36,59.2 1 4 -github.com/george-maroun/tracecheck/internal/stringutil/is.go:6.29,7.22 1 4 -github.com/george-maroun/tracecheck/internal/stringutil/is.go:7.22,8.25 1 9 -github.com/george-maroun/tracecheck/internal/stringutil/is.go:8.25,11.4 1 2 -github.com/george-maroun/tracecheck/internal/stringutil/is.go:14.2,14.13 1 2 github.com/george-maroun/tracecheck/loggercheck.go:24.53,34.2 3 2 github.com/george-maroun/tracecheck/loggercheck.go:51.50,66.27 7 2 github.com/george-maroun/tracecheck/loggercheck.go:66.27,68.3 1 0 github.com/george-maroun/tracecheck/loggercheck.go:70.2,70.10 1 2 -github.com/george-maroun/tracecheck/loggercheck.go:73.59,75.2 1 7 -github.com/george-maroun/tracecheck/loggercheck.go:79.42,80.55 1 8 -github.com/george-maroun/tracecheck/loggercheck.go:80.55,82.3 1 7 +github.com/george-maroun/tracecheck/loggercheck.go:73.59,75.2 1 10 +github.com/george-maroun/tracecheck/loggercheck.go:79.42,80.55 1 11 +github.com/george-maroun/tracecheck/loggercheck.go:80.55,82.3 1 10 github.com/george-maroun/tracecheck/loggercheck.go:83.2,83.14 1 1 -github.com/george-maroun/tracecheck/loggercheck.go:86.74,88.16 2 8 +github.com/george-maroun/tracecheck/loggercheck.go:86.74,88.16 2 11 github.com/george-maroun/tracecheck/loggercheck.go:88.16,90.3 1 0 -github.com/george-maroun/tracecheck/loggercheck.go:92.2,95.30 3 8 -github.com/george-maroun/tracecheck/loggercheck.go:95.30,97.35 2 7 +github.com/george-maroun/tracecheck/loggercheck.go:92.2,95.30 3 11 +github.com/george-maroun/tracecheck/loggercheck.go:95.30,97.35 2 10 github.com/george-maroun/tracecheck/loggercheck.go:97.35,99.12 1 0 -github.com/george-maroun/tracecheck/loggercheck.go:103.3,104.53 2 7 -github.com/george-maroun/tracecheck/loggercheck.go:104.53,105.13 1 2 -github.com/george-maroun/tracecheck/loggercheck.go:108.3,108.20 1 5 +github.com/george-maroun/tracecheck/loggercheck.go:103.3,104.53 2 10 +github.com/george-maroun/tracecheck/loggercheck.go:104.53,105.13 1 3 +github.com/george-maroun/tracecheck/loggercheck.go:108.3,108.20 1 7 github.com/george-maroun/tracecheck/loggercheck.go:108.20,109.12 1 0 -github.com/george-maroun/tracecheck/loggercheck.go:112.3,113.21 2 5 -github.com/george-maroun/tracecheck/loggercheck.go:113.21,115.4 1 5 +github.com/george-maroun/tracecheck/loggercheck.go:112.3,113.21 2 7 +github.com/george-maroun/tracecheck/loggercheck.go:113.21,115.4 1 7 github.com/george-maroun/tracecheck/loggercheck.go:116.3,116.17 1 0 -github.com/george-maroun/tracecheck/loggercheck.go:119.2,119.12 1 3 -github.com/george-maroun/tracecheck/loggercheck.go:122.85,124.15 2 18 +github.com/george-maroun/tracecheck/loggercheck.go:119.2,119.12 1 4 +github.com/george-maroun/tracecheck/loggercheck.go:122.85,124.15 2 23 github.com/george-maroun/tracecheck/loggercheck.go:124.15,126.3 1 1 -github.com/george-maroun/tracecheck/loggercheck.go:128.2,129.28 2 17 -github.com/george-maroun/tracecheck/loggercheck.go:129.28,131.3 1 8 -github.com/george-maroun/tracecheck/loggercheck.go:134.2,134.29 1 9 +github.com/george-maroun/tracecheck/loggercheck.go:128.2,129.28 2 22 +github.com/george-maroun/tracecheck/loggercheck.go:129.28,131.3 1 10 +github.com/george-maroun/tracecheck/loggercheck.go:134.2,134.29 1 12 github.com/george-maroun/tracecheck/loggercheck.go:134.29,136.3 1 1 -github.com/george-maroun/tracecheck/loggercheck.go:138.2,139.20 2 8 -github.com/george-maroun/tracecheck/loggercheck.go:139.20,141.3 1 3 -github.com/george-maroun/tracecheck/loggercheck.go:144.2,154.4 2 5 +github.com/george-maroun/tracecheck/loggercheck.go:138.2,139.20 2 11 +github.com/george-maroun/tracecheck/loggercheck.go:139.20,141.3 1 4 +github.com/george-maroun/tracecheck/loggercheck.go:144.2,154.4 2 7 github.com/george-maroun/tracecheck/loggercheck.go:157.45,160.22 3 2 github.com/george-maroun/tracecheck/loggercheck.go:160.22,162.17 2 0 github.com/george-maroun/tracecheck/loggercheck.go:162.17,164.4 1 0 @@ -126,16 +126,16 @@ github.com/george-maroun/tracecheck/loggercheck.go:185.2,187.12 2 2 github.com/george-maroun/tracecheck/loggercheck.go:190.69,192.16 2 2 github.com/george-maroun/tracecheck/loggercheck.go:192.16,194.3 1 0 github.com/george-maroun/tracecheck/loggercheck.go:196.2,200.48 3 2 -github.com/george-maroun/tracecheck/loggercheck.go:200.48,204.21 3 18 +github.com/george-maroun/tracecheck/loggercheck.go:200.48,204.21 3 23 github.com/george-maroun/tracecheck/loggercheck.go:204.21,206.4 1 0 -github.com/george-maroun/tracecheck/loggercheck.go:209.3,210.32 2 18 -github.com/george-maroun/tracecheck/loggercheck.go:210.32,211.42 1 18 -github.com/george-maroun/tracecheck/loggercheck.go:211.42,213.10 2 18 -github.com/george-maroun/tracecheck/loggercheck.go:217.3,217.18 1 18 +github.com/george-maroun/tracecheck/loggercheck.go:209.3,210.32 2 23 +github.com/george-maroun/tracecheck/loggercheck.go:210.32,211.42 1 23 +github.com/george-maroun/tracecheck/loggercheck.go:211.42,213.10 2 23 +github.com/george-maroun/tracecheck/loggercheck.go:217.3,217.18 1 23 github.com/george-maroun/tracecheck/loggercheck.go:217.18,219.4 1 0 -github.com/george-maroun/tracecheck/loggercheck.go:223.3,229.17 5 18 +github.com/george-maroun/tracecheck/loggercheck.go:223.3,229.17 5 23 github.com/george-maroun/tracecheck/loggercheck.go:229.17,232.4 1 0 -github.com/george-maroun/tracecheck/loggercheck.go:234.3,234.37 1 18 +github.com/george-maroun/tracecheck/loggercheck.go:234.3,234.37 1 23 github.com/george-maroun/tracecheck/loggercheck.go:237.2,237.17 1 2 github.com/george-maroun/tracecheck/options.go:9.43,10.30 1 0 github.com/george-maroun/tracecheck/options.go:10.30,12.3 1 0 @@ -153,94 +153,99 @@ github.com/george-maroun/tracecheck/staticrules.go:61.2,61.27 1 5 github.com/george-maroun/tracecheck/staticrules.go:61.27,62.68 1 1 github.com/george-maroun/tracecheck/staticrules.go:65.2,67.16 3 4 github.com/george-maroun/tracecheck/internal/bytebufferpool/pool.go:9.26,11.3 1 2 -github.com/george-maroun/tracecheck/internal/bytebufferpool/pool.go:14.26,18.2 3 5 -github.com/george-maroun/tracecheck/internal/bytebufferpool/pool.go:20.29,22.2 1 5 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:32.83,39.27 6 5 +github.com/george-maroun/tracecheck/internal/bytebufferpool/pool.go:14.26,18.2 3 7 +github.com/george-maroun/tracecheck/internal/bytebufferpool/pool.go:20.29,22.2 1 7 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:32.83,39.27 6 7 github.com/george-maroun/tracecheck/internal/checkers/checker.go:39.27,41.3 1 0 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:43.2,45.31 2 5 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:43.2,45.31 2 7 github.com/george-maroun/tracecheck/internal/checkers/checker.go:45.31,54.3 3 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:57.2,58.26 2 5 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:58.26,60.3 1 3 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:62.2,63.31 2 2 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:57.2,58.26 2 7 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:58.26,60.3 1 4 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:62.2,63.31 2 3 github.com/george-maroun/tracecheck/internal/checkers/checker.go:63.31,65.3 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:68.2,69.45 2 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:69.45,72.10 3 2 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:72.10,74.12 1 0 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:86.3,86.35 1 2 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:86.35,88.9 2 0 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:92.2,92.17 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:92.17,104.17 3 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:104.17,112.4 2 0 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:115.3,125.28 5 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:125.28,127.4 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:129.3,133.37 3 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:133.37,135.4 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:138.3,162.39 7 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:162.39,171.4 2 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:173.3,180.18 2 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:183.2,183.26 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:183.26,185.3 1 0 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:187.2,187.22 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:187.22,190.3 1 0 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:195.71,196.42 1 3 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:196.42,197.24 1 672 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:198.22,199.67 1 6 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:199.67,201.5 1 3 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:203.3,203.14 1 672 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:205.2,205.8 1 3 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:210.70,213.35 2 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:213.35,215.29 2 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:215.29,217.4 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:218.3,218.19 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:222.2,222.20 1 0 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:225.62,229.16 2 2 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:229.16,230.46 1 2 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:230.46,231.57 1 3 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:231.57,232.77 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:232.77,233.39 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:233.39,235.7 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:240.2,240.14 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:245.52,249.32 3 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:249.32,252.58 2 4 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:252.58,254.5 1 0 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:255.4,255.26 1 4 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:258.2,258.18 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:262.50,263.27 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:263.27,265.6 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:267.5,267.23 1 0 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:270.53,271.27 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:271.27,273.6 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:275.5,275.23 1 0 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:281.80,282.20 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:282.20,284.6 1 0 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:286.5,286.37 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:286.37,288.16 2 3 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:288.16,289.21 1 2 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:293.9,293.40 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:293.40,294.48 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:294.48,296.23 2 3 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:296.23,298.18 1 3 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:302.5,302.28 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:307.66,309.16 2 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:309.16,311.3 1 0 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:313.2,313.41 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:313.41,314.56 1 3 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:314.56,316.5 1 0 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:319.2,319.26 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:319.26,322.3 1 1 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:324.2,324.25 1 0 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:328.70,331.42 2 5 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:331.42,332.15 1 1060 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:332.15,334.4 1 530 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:336.3,336.39 1 530 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:336.39,338.41 1 39 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:338.41,340.52 1 7 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:340.52,342.47 1 7 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:342.47,343.54 1 2 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:343.54,344.39 1 2 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:344.39,346.9 1 2 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:352.3,352.14 1 530 -github.com/george-maroun/tracecheck/internal/checkers/checker.go:354.2,354.15 1 5 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:67.2,68.45 2 2 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:68.45,91.26 2 3 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:92.22,93.59 1 2 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:93.59,95.5 1 0 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:96.19,98.58 1 0 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:98.58,100.5 1 0 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:101.26,103.62 1 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:103.62,105.5 1 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:107.3,107.25 1 3 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:107.25,108.9 1 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:112.2,112.17 1 2 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:112.17,124.17 3 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:124.17,132.4 2 0 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:135.3,145.28 5 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:145.28,147.4 1 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:149.3,153.37 3 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:153.37,155.4 1 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:158.3,182.39 7 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:182.39,191.4 2 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:193.3,200.18 2 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:203.2,203.26 1 2 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:203.26,205.3 1 0 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:207.2,207.22 1 2 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:207.22,210.3 1 0 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:215.71,216.42 1 4 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:216.42,217.24 1 1448 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:218.22,219.67 1 12 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:219.67,221.5 1 4 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:223.3,223.14 1 1448 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:225.2,225.8 1 4 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:230.70,233.35 2 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:233.35,235.29 2 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:235.29,237.4 1 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:238.3,238.19 1 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:242.2,242.20 1 0 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:245.62,249.16 2 3 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:249.16,250.46 1 3 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:250.46,251.57 1 4 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:251.57,252.77 1 2 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:252.77,253.39 1 2 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:253.39,255.7 1 2 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:260.2,260.14 1 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:265.52,269.32 3 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:269.32,272.58 2 4 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:272.58,274.5 1 0 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:275.4,275.26 1 4 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:278.2,278.18 1 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:282.50,283.27 1 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:283.27,285.6 1 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:287.5,287.23 1 0 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:290.53,291.27 1 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:291.27,293.6 1 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:295.5,295.23 1 0 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:301.80,302.20 1 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:302.20,304.6 1 0 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:306.5,306.37 1 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:306.37,308.16 2 5 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:308.16,309.21 1 3 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:313.9,313.40 1 2 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:313.40,314.48 1 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:314.48,316.23 2 3 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:316.23,318.18 1 3 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:322.5,322.28 1 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:327.66,329.16 2 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:329.16,331.3 1 0 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:333.2,333.41 1 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:333.41,334.56 1 3 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:334.56,336.5 1 0 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:339.2,339.26 1 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:339.26,342.3 1 1 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:344.2,344.25 1 0 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:348.70,351.42 2 7 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:351.42,352.15 1 2336 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:352.15,354.4 1 1168 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:356.3,356.39 1 1168 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:356.39,358.41 1 55 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:358.41,360.52 1 10 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:360.52,362.47 1 10 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:362.47,363.54 1 3 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:363.54,364.39 1 3 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:364.39,366.9 1 3 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:372.3,372.14 1 1168 +github.com/george-maroun/tracecheck/internal/checkers/checker.go:374.2,374.15 1 7 github.com/george-maroun/tracecheck/internal/checkers/common.go:21.91,22.55 1 0 github.com/george-maroun/tracecheck/internal/checkers/common.go:22.55,23.113 1 0 github.com/george-maroun/tracecheck/internal/checkers/common.go:23.113,25.4 1 0 @@ -250,7 +255,7 @@ github.com/george-maroun/tracecheck/internal/checkers/common.go:39.40,42.33 2 0 github.com/george-maroun/tracecheck/internal/checkers/common.go:42.33,45.4 2 0 github.com/george-maroun/tracecheck/internal/checkers/common.go:46.3,46.20 1 0 github.com/george-maroun/tracecheck/internal/checkers/common.go:48.2,48.10 1 0 -github.com/george-maroun/tracecheck/internal/checkers/general.go:15.91,17.2 1 5 +github.com/george-maroun/tracecheck/internal/checkers/general.go:15.91,17.2 1 7 github.com/george-maroun/tracecheck/internal/checkers/general.go:19.80,20.44 1 0 github.com/george-maroun/tracecheck/internal/checkers/general.go:20.44,22.60 2 0 github.com/george-maroun/tracecheck/internal/checkers/general.go:22.60,23.33 1 0 @@ -331,31 +336,31 @@ github.com/george-maroun/tracecheck/internal/checkers/printf/printf.go:241.26,24 github.com/george-maroun/tracecheck/internal/checkers/printf/printf.go:245.3,245.10 1 0 github.com/george-maroun/tracecheck/internal/checkers/printf/printf.go:245.10,248.4 2 0 github.com/george-maroun/tracecheck/internal/checkers/printf/printf.go:251.2,251.8 1 0 -github.com/george-maroun/tracecheck/internal/rules/rules.go:26.47,32.9 3 5 +github.com/george-maroun/tracecheck/internal/rules/rules.go:26.47,32.9 3 7 github.com/george-maroun/tracecheck/internal/rules/rules.go:32.9,34.3 1 0 -github.com/george-maroun/tracecheck/internal/rules/rules.go:36.2,36.30 1 5 -github.com/george-maroun/tracecheck/internal/rules/rules.go:36.30,38.27 2 5 -github.com/george-maroun/tracecheck/internal/rules/rules.go:38.27,40.4 1 5 +github.com/george-maroun/tracecheck/internal/rules/rules.go:36.2,36.30 1 7 +github.com/george-maroun/tracecheck/internal/rules/rules.go:36.30,38.27 2 7 +github.com/george-maroun/tracecheck/internal/rules/rules.go:38.27,40.4 1 7 github.com/george-maroun/tracecheck/internal/rules/rules.go:43.2,43.14 1 0 -github.com/george-maroun/tracecheck/internal/rules/rules.go:46.49,51.37 4 5 +github.com/george-maroun/tracecheck/internal/rules/rules.go:46.49,51.37 4 7 github.com/george-maroun/tracecheck/internal/rules/rules.go:52.22,54.53 2 0 github.com/george-maroun/tracecheck/internal/rules/rules.go:54.53,56.4 1 0 -github.com/george-maroun/tracecheck/internal/rules/rules.go:57.20,58.23 1 5 -github.com/george-maroun/tracecheck/internal/rules/rules.go:61.2,61.22 1 5 +github.com/george-maroun/tracecheck/internal/rules/rules.go:57.20,58.23 1 7 +github.com/george-maroun/tracecheck/internal/rules/rules.go:61.2,61.22 1 7 github.com/george-maroun/tracecheck/internal/rules/rules.go:61.22,64.3 1 0 -github.com/george-maroun/tracecheck/internal/rules/rules.go:66.2,68.58 3 5 +github.com/george-maroun/tracecheck/internal/rules/rules.go:66.2,68.58 3 7 github.com/george-maroun/tracecheck/internal/rules/rules.go:68.58,70.38 2 0 github.com/george-maroun/tracecheck/internal/rules/rules.go:70.38,71.13 1 0 github.com/george-maroun/tracecheck/internal/rules/rules.go:71.13,74.5 1 0 github.com/george-maroun/tracecheck/internal/rules/rules.go:75.4,76.35 2 0 github.com/george-maroun/tracecheck/internal/rules/rules.go:78.3,78.21 1 0 -github.com/george-maroun/tracecheck/internal/rules/rules.go:81.2,81.21 1 5 -github.com/george-maroun/tracecheck/internal/rules/rules.go:84.56,88.32 3 5 +github.com/george-maroun/tracecheck/internal/rules/rules.go:81.2,81.21 1 7 +github.com/george-maroun/tracecheck/internal/rules/rules.go:84.56,88.32 3 7 github.com/george-maroun/tracecheck/internal/rules/rules.go:88.32,90.3 1 0 -github.com/george-maroun/tracecheck/internal/rules/rules.go:92.2,92.16 1 5 -github.com/george-maroun/tracecheck/internal/rules/rules.go:92.16,95.37 3 5 +github.com/george-maroun/tracecheck/internal/rules/rules.go:92.2,92.16 1 7 +github.com/george-maroun/tracecheck/internal/rules/rules.go:92.16,95.37 3 7 github.com/george-maroun/tracecheck/internal/rules/rules.go:95.37,97.4 1 0 -github.com/george-maroun/tracecheck/internal/rules/rules.go:100.2,100.13 1 5 +github.com/george-maroun/tracecheck/internal/rules/rules.go:100.2,100.13 1 7 github.com/george-maroun/tracecheck/internal/rules/rules.go:109.81,110.59 1 25 github.com/george-maroun/tracecheck/internal/rules/rules.go:110.59,112.3 1 178 github.com/george-maroun/tracecheck/internal/rules/rules.go:113.2,113.43 1 25 @@ -395,7 +400,7 @@ github.com/george-maroun/tracecheck/internal/rules/rules.go:200.2,200.26 1 0 github.com/george-maroun/tracecheck/internal/sets/string.go:12.43,16.2 3 2 github.com/george-maroun/tracecheck/internal/sets/string.go:18.44,19.29 1 2 github.com/george-maroun/tracecheck/internal/sets/string.go:19.29,21.3 1 2 -github.com/george-maroun/tracecheck/internal/sets/string.go:24.42,27.2 2 7 +github.com/george-maroun/tracecheck/internal/sets/string.go:24.42,27.2 2 10 github.com/george-maroun/tracecheck/internal/sets/string.go:29.36,30.17 1 2 github.com/george-maroun/tracecheck/internal/sets/string.go:30.17,32.3 1 0 github.com/george-maroun/tracecheck/internal/sets/string.go:34.2,35.21 2 2 diff --git a/internal/checkers/checker.go b/internal/checkers/checker.go index bee1a79..6b71245 100644 --- a/internal/checkers/checker.go +++ b/internal/checkers/checker.go @@ -66,13 +66,6 @@ func ExecuteChecker(c Checker, pass *analysis.Pass, call CallContext, cfg Config hasTraceId := false for i := 0; i < len(keyValuesArgs); i += 2 { - arg := keyValuesArgs[i] - basic, ok := arg.(*ast.BasicLit) - if !ok { - // Just ignore it if its not of type BasicLiteral - continue - } - // We use traceId not traceID based on spanId in Google stackdriver stuctured logging // https://cloud.google.com/logging/docs/structured-logging // In the opentelemetry docs it is "TraceId" @@ -82,8 +75,25 @@ func ExecuteChecker(c Checker, pass *analysis.Pass, call CallContext, cfg Config // This is also how its defined in the OpenTelemetry spec for jsonLogs // https://opentelemetry.io/docs/specs/otel/protocol/file-exporter/#examples // https://opentelemetry.io/docs/specs/otel/logs/ - if basic.Value == "\"traceId\"" { - hasTraceId = true + arg := keyValuesArgs[i] + + switch v := arg.(type) { + case *ast.BasicLit: + if strings.Contains(strings.ToLower(v.Value), "trace") { + hasTraceId = true + } + case *ast.Ident: + // v.Name contains the name (label) of the variable + if strings.Contains(strings.ToLower(v.Name), "trace") { + hasTraceId = true + } + case *ast.SelectorExpr: + // Check if the selector (right part) of the qualified identifier contains "trace" + if strings.Contains(strings.ToLower(v.Sel.Name), "trace") { + hasTraceId = true + } + } + if hasTraceId == true { break } } @@ -351,4 +361,4 @@ func isWithValuesCallOnNewLogger(file *ast.File, pos token.Pos) bool { return true }) return result -} \ No newline at end of file +} diff --git a/testdata/src/a/fix_import/example.go b/testdata/src/a/fix_import/example.go index 5a18f5f..7b03ee6 100644 --- a/testdata/src/a/fix_import/example.go +++ b/testdata/src/a/fix_import/example.go @@ -6,6 +6,10 @@ import ( "context" ) +type telemetry struct { + TraceLogKey string +} + func SomeFunc(ctx context.Context, eventType, deliveryID string, payload []byte) error { log := zapr.NewLogger(zap.L()).WithValues("eventType", eventType, "deliverID", deliveryID) // want `missing traceId in logging keys` log = log.WithValues("eventType", "hello") @@ -13,7 +17,17 @@ func SomeFunc(ctx context.Context, eventType, deliveryID string, payload []byte) return nil } -func SomeFunc1(eventType, deliveryID string, payload []byte) error { +func SomeFunc1(ctx context.Context, eventType, deliveryID string, payload []byte) error { + telemetryInstance := telemetry{ + TraceLogKey: "dummyTrace", + } + log := zapr.NewLogger(zap.L()).WithValues(telemetryInstance.TraceLogKey, "someValue") // cannot be detected + log = log.WithValues("eventType", "hello") + log.Info("Tracing") + return nil +} + +func SomeFunc2(eventType, deliveryID string, payload []byte) error { log := zapr.NewLogger(zap.L()).WithValues("eventType", eventType, "deliverID", deliveryID) // cannot be detected log = log.WithValues("eventType", "hello") log.Info("Tracing") diff --git a/testdata/src/a/fix_import/example.go.golden b/testdata/src/a/fix_import/example.go.golden index 7021274..da5af23 100644 --- a/testdata/src/a/fix_import/example.go.golden +++ b/testdata/src/a/fix_import/example.go.golden @@ -7,6 +7,10 @@ import ( "go.uber.org/zap" ) +type telemetry struct { + TraceLogKey string +} + func SomeFunc(ctx context.Context, eventType, deliveryID string, payload []byte) error { span := trace.SpanFromContext(ctx) log := zapr.NewLogger(zap.L()).WithValues("traceId", span.SpanContext().TraceID().String(), "spanId", span.SpanContext().SpanID().String(), "eventType", eventType, "deliverID", deliveryID) // want `missing traceId in logging keys` @@ -15,7 +19,17 @@ func SomeFunc(ctx context.Context, eventType, deliveryID string, payload []byte) return nil } -func SomeFunc1(eventType, deliveryID string, payload []byte) error { +func SomeFunc1(ctx context.Context, eventType, deliveryID string, payload []byte) error { + telemetryInstance := telemetry{ + TraceLogKey: "dummyTrace", + } + log := zapr.NewLogger(zap.L()).WithValues(telemetryInstance.TraceLogKey, "someValue") // cannot be detected + log = log.WithValues("eventType", "hello") + log.Info("Tracing") + return nil +} + +func SomeFunc2(eventType, deliveryID string, payload []byte) error { log := zapr.NewLogger(zap.L()).WithValues("eventType", eventType, "deliverID", deliveryID) // cannot be detected log = log.WithValues("eventType", "hello") log.Info("Tracing")