@datalust/seqcli-osx-arm64 2026.1.2638-dev-02638

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/Attribution/.NET Core License.txt +23 -0
  2. package/Attribution/Autofac License.txt +21 -0
  3. package/Attribution/Json.NET License.txt +20 -0
  4. package/Attribution/Serilog License.txt +191 -0
  5. package/Attribution/System.Reactive License.txt +14 -0
  6. package/Autofac.Extensions.DependencyInjection.dll +0 -0
  7. package/Autofac.dll +0 -0
  8. package/Cli/Commands/Bench/BenchCases.json +74 -0
  9. package/LICENSE +201 -0
  10. package/Microsoft.AspNetCore.Antiforgery.dll +0 -0
  11. package/Microsoft.AspNetCore.Authentication.Abstractions.dll +0 -0
  12. package/Microsoft.AspNetCore.Authentication.BearerToken.dll +0 -0
  13. package/Microsoft.AspNetCore.Authentication.Cookies.dll +0 -0
  14. package/Microsoft.AspNetCore.Authentication.Core.dll +0 -0
  15. package/Microsoft.AspNetCore.Authentication.OAuth.dll +0 -0
  16. package/Microsoft.AspNetCore.Authentication.dll +0 -0
  17. package/Microsoft.AspNetCore.Authorization.Policy.dll +0 -0
  18. package/Microsoft.AspNetCore.Authorization.dll +0 -0
  19. package/Microsoft.AspNetCore.Components.Authorization.dll +0 -0
  20. package/Microsoft.AspNetCore.Components.Endpoints.dll +0 -0
  21. package/Microsoft.AspNetCore.Components.Forms.dll +0 -0
  22. package/Microsoft.AspNetCore.Components.Server.dll +0 -0
  23. package/Microsoft.AspNetCore.Components.Web.dll +0 -0
  24. package/Microsoft.AspNetCore.Components.dll +0 -0
  25. package/Microsoft.AspNetCore.Connections.Abstractions.dll +0 -0
  26. package/Microsoft.AspNetCore.CookiePolicy.dll +0 -0
  27. package/Microsoft.AspNetCore.Cors.dll +0 -0
  28. package/Microsoft.AspNetCore.Cryptography.Internal.dll +0 -0
  29. package/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll +0 -0
  30. package/Microsoft.AspNetCore.DataProtection.Abstractions.dll +0 -0
  31. package/Microsoft.AspNetCore.DataProtection.Extensions.dll +0 -0
  32. package/Microsoft.AspNetCore.DataProtection.dll +0 -0
  33. package/Microsoft.AspNetCore.Diagnostics.Abstractions.dll +0 -0
  34. package/Microsoft.AspNetCore.Diagnostics.HealthChecks.dll +0 -0
  35. package/Microsoft.AspNetCore.Diagnostics.dll +0 -0
  36. package/Microsoft.AspNetCore.HostFiltering.dll +0 -0
  37. package/Microsoft.AspNetCore.Hosting.Abstractions.dll +0 -0
  38. package/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll +0 -0
  39. package/Microsoft.AspNetCore.Hosting.dll +0 -0
  40. package/Microsoft.AspNetCore.Html.Abstractions.dll +0 -0
  41. package/Microsoft.AspNetCore.Http.Abstractions.dll +0 -0
  42. package/Microsoft.AspNetCore.Http.Connections.Common.dll +0 -0
  43. package/Microsoft.AspNetCore.Http.Connections.dll +0 -0
  44. package/Microsoft.AspNetCore.Http.Extensions.dll +0 -0
  45. package/Microsoft.AspNetCore.Http.Features.dll +0 -0
  46. package/Microsoft.AspNetCore.Http.Results.dll +0 -0
  47. package/Microsoft.AspNetCore.Http.dll +0 -0
  48. package/Microsoft.AspNetCore.HttpLogging.dll +0 -0
  49. package/Microsoft.AspNetCore.HttpOverrides.dll +0 -0
  50. package/Microsoft.AspNetCore.HttpsPolicy.dll +0 -0
  51. package/Microsoft.AspNetCore.Identity.dll +0 -0
  52. package/Microsoft.AspNetCore.Localization.Routing.dll +0 -0
  53. package/Microsoft.AspNetCore.Localization.dll +0 -0
  54. package/Microsoft.AspNetCore.Metadata.dll +0 -0
  55. package/Microsoft.AspNetCore.Mvc.Abstractions.dll +0 -0
  56. package/Microsoft.AspNetCore.Mvc.ApiExplorer.dll +0 -0
  57. package/Microsoft.AspNetCore.Mvc.Core.dll +0 -0
  58. package/Microsoft.AspNetCore.Mvc.Cors.dll +0 -0
  59. package/Microsoft.AspNetCore.Mvc.DataAnnotations.dll +0 -0
  60. package/Microsoft.AspNetCore.Mvc.Formatters.Json.dll +0 -0
  61. package/Microsoft.AspNetCore.Mvc.Formatters.Xml.dll +0 -0
  62. package/Microsoft.AspNetCore.Mvc.Localization.dll +0 -0
  63. package/Microsoft.AspNetCore.Mvc.Razor.dll +0 -0
  64. package/Microsoft.AspNetCore.Mvc.RazorPages.dll +0 -0
  65. package/Microsoft.AspNetCore.Mvc.TagHelpers.dll +0 -0
  66. package/Microsoft.AspNetCore.Mvc.ViewFeatures.dll +0 -0
  67. package/Microsoft.AspNetCore.Mvc.dll +0 -0
  68. package/Microsoft.AspNetCore.OutputCaching.dll +0 -0
  69. package/Microsoft.AspNetCore.RateLimiting.dll +0 -0
  70. package/Microsoft.AspNetCore.Razor.Runtime.dll +0 -0
  71. package/Microsoft.AspNetCore.Razor.dll +0 -0
  72. package/Microsoft.AspNetCore.RequestDecompression.dll +0 -0
  73. package/Microsoft.AspNetCore.ResponseCaching.Abstractions.dll +0 -0
  74. package/Microsoft.AspNetCore.ResponseCaching.dll +0 -0
  75. package/Microsoft.AspNetCore.ResponseCompression.dll +0 -0
  76. package/Microsoft.AspNetCore.Rewrite.dll +0 -0
  77. package/Microsoft.AspNetCore.Routing.Abstractions.dll +0 -0
  78. package/Microsoft.AspNetCore.Routing.dll +0 -0
  79. package/Microsoft.AspNetCore.Server.HttpSys.dll +0 -0
  80. package/Microsoft.AspNetCore.Server.IIS.dll +0 -0
  81. package/Microsoft.AspNetCore.Server.IISIntegration.dll +0 -0
  82. package/Microsoft.AspNetCore.Server.Kestrel.Core.dll +0 -0
  83. package/Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes.dll +0 -0
  84. package/Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.dll +0 -0
  85. package/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll +0 -0
  86. package/Microsoft.AspNetCore.Server.Kestrel.dll +0 -0
  87. package/Microsoft.AspNetCore.Session.dll +0 -0
  88. package/Microsoft.AspNetCore.SignalR.Common.dll +0 -0
  89. package/Microsoft.AspNetCore.SignalR.Core.dll +0 -0
  90. package/Microsoft.AspNetCore.SignalR.Protocols.Json.dll +0 -0
  91. package/Microsoft.AspNetCore.SignalR.dll +0 -0
  92. package/Microsoft.AspNetCore.StaticAssets.dll +0 -0
  93. package/Microsoft.AspNetCore.StaticFiles.dll +0 -0
  94. package/Microsoft.AspNetCore.WebSockets.dll +0 -0
  95. package/Microsoft.AspNetCore.WebUtilities.dll +0 -0
  96. package/Microsoft.AspNetCore.dll +0 -0
  97. package/Microsoft.CSharp.dll +0 -0
  98. package/Microsoft.Extensions.AI.Abstractions.dll +0 -0
  99. package/Microsoft.Extensions.Caching.Abstractions.dll +0 -0
  100. package/Microsoft.Extensions.Caching.Memory.dll +0 -0
  101. package/Microsoft.Extensions.Configuration.Abstractions.dll +0 -0
  102. package/Microsoft.Extensions.Configuration.Binder.dll +0 -0
  103. package/Microsoft.Extensions.Configuration.CommandLine.dll +0 -0
  104. package/Microsoft.Extensions.Configuration.EnvironmentVariables.dll +0 -0
  105. package/Microsoft.Extensions.Configuration.FileExtensions.dll +0 -0
  106. package/Microsoft.Extensions.Configuration.Ini.dll +0 -0
  107. package/Microsoft.Extensions.Configuration.Json.dll +0 -0
  108. package/Microsoft.Extensions.Configuration.KeyPerFile.dll +0 -0
  109. package/Microsoft.Extensions.Configuration.UserSecrets.dll +0 -0
  110. package/Microsoft.Extensions.Configuration.Xml.dll +0 -0
  111. package/Microsoft.Extensions.Configuration.dll +0 -0
  112. package/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
  113. package/Microsoft.Extensions.DependencyInjection.dll +0 -0
  114. package/Microsoft.Extensions.DependencyModel.dll +0 -0
  115. package/Microsoft.Extensions.Diagnostics.Abstractions.dll +0 -0
  116. package/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.dll +0 -0
  117. package/Microsoft.Extensions.Diagnostics.HealthChecks.dll +0 -0
  118. package/Microsoft.Extensions.Diagnostics.dll +0 -0
  119. package/Microsoft.Extensions.Features.dll +0 -0
  120. package/Microsoft.Extensions.FileProviders.Abstractions.dll +0 -0
  121. package/Microsoft.Extensions.FileProviders.Composite.dll +0 -0
  122. package/Microsoft.Extensions.FileProviders.Embedded.dll +0 -0
  123. package/Microsoft.Extensions.FileProviders.Physical.dll +0 -0
  124. package/Microsoft.Extensions.FileSystemGlobbing.dll +0 -0
  125. package/Microsoft.Extensions.Hosting.Abstractions.dll +0 -0
  126. package/Microsoft.Extensions.Hosting.dll +0 -0
  127. package/Microsoft.Extensions.Http.dll +0 -0
  128. package/Microsoft.Extensions.Identity.Core.dll +0 -0
  129. package/Microsoft.Extensions.Identity.Stores.dll +0 -0
  130. package/Microsoft.Extensions.Localization.Abstractions.dll +0 -0
  131. package/Microsoft.Extensions.Localization.dll +0 -0
  132. package/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
  133. package/Microsoft.Extensions.Logging.Configuration.dll +0 -0
  134. package/Microsoft.Extensions.Logging.Console.dll +0 -0
  135. package/Microsoft.Extensions.Logging.Debug.dll +0 -0
  136. package/Microsoft.Extensions.Logging.EventLog.dll +0 -0
  137. package/Microsoft.Extensions.Logging.EventSource.dll +0 -0
  138. package/Microsoft.Extensions.Logging.TraceSource.dll +0 -0
  139. package/Microsoft.Extensions.Logging.dll +0 -0
  140. package/Microsoft.Extensions.ObjectPool.dll +0 -0
  141. package/Microsoft.Extensions.Options.ConfigurationExtensions.dll +0 -0
  142. package/Microsoft.Extensions.Options.DataAnnotations.dll +0 -0
  143. package/Microsoft.Extensions.Options.dll +0 -0
  144. package/Microsoft.Extensions.Primitives.dll +0 -0
  145. package/Microsoft.Extensions.Validation.dll +0 -0
  146. package/Microsoft.Extensions.WebEncoders.dll +0 -0
  147. package/Microsoft.JSInterop.dll +0 -0
  148. package/Microsoft.Net.Http.Headers.dll +0 -0
  149. package/Microsoft.VisualBasic.Core.dll +0 -0
  150. package/Microsoft.VisualBasic.dll +0 -0
  151. package/Microsoft.Win32.Primitives.dll +0 -0
  152. package/Microsoft.Win32.Registry.dll +0 -0
  153. package/ModelContextProtocol.Core.dll +0 -0
  154. package/ModelContextProtocol.dll +0 -0
  155. package/Newtonsoft.Json.dll +0 -0
  156. package/Roastery.dll +0 -0
  157. package/Roastery.pdb +0 -0
  158. package/Sample/Templates/alert-Batch Processing Errors.template +35 -0
  159. package/Sample/Templates/alert-Frontend Errors.template +35 -0
  160. package/Sample/Templates/alert-Low Stock.template +25 -0
  161. package/Sample/Templates/alert-Production Errors.template +35 -0
  162. package/Sample/Templates/dashboard-Database.template +145 -0
  163. package/Sample/Templates/dashboard-HTTP Requests.template +177 -0
  164. package/Sample/Templates/dashboard-Orders.template +256 -0
  165. package/Sample/Templates/dashboard-Overview.template +155 -0
  166. package/Sample/Templates/dashboard-Production.template +85 -0
  167. package/Sample/Templates/expressionindex-16.template +5 -0
  168. package/Sample/Templates/expressionindex-17.template +5 -0
  169. package/Sample/Templates/retentionpolicy-82.template +9 -0
  170. package/Sample/Templates/retentionpolicy-84.template +6 -0
  171. package/Sample/Templates/signal-Bad Request.template +19 -0
  172. package/Sample/Templates/signal-Batch Processing.template +19 -0
  173. package/Sample/Templates/signal-Columns.template +19 -0
  174. package/Sample/Templates/signal-Database.template +19 -0
  175. package/Sample/Templates/signal-Errors.template +19 -0
  176. package/Sample/Templates/signal-Exceptions.template +19 -0
  177. package/Sample/Templates/signal-HTTP Requests.template +19 -0
  178. package/Sample/Templates/signal-Information.template +19 -0
  179. package/Sample/Templates/signal-Internal Server Error.template +19 -0
  180. package/Sample/Templates/signal-Logs.template +19 -0
  181. package/Sample/Templates/signal-Not Found.template +19 -0
  182. package/Sample/Templates/signal-Order Abandoned.template +19 -0
  183. package/Sample/Templates/signal-Order Archived.template +19 -0
  184. package/Sample/Templates/signal-Order Created.template +19 -0
  185. package/Sample/Templates/signal-Order Placed.template +19 -0
  186. package/Sample/Templates/signal-Order Shipped.template +19 -0
  187. package/Sample/Templates/signal-Roastery Production.template +19 -0
  188. package/Sample/Templates/signal-Sample Data.template +19 -0
  189. package/Sample/Templates/signal-Spans.template +19 -0
  190. package/Sample/Templates/signal-Stock Level Warnings.template +19 -0
  191. package/Sample/Templates/signal-Success.template +19 -0
  192. package/Sample/Templates/signal-Warnings.template +19 -0
  193. package/Sample/Templates/signal-Web Frontend.template +19 -0
  194. package/Sample/Templates/sqlquery-Available Properties.template +8 -0
  195. package/Sample/Templates/sqlquery-Count by Hour.template +8 -0
  196. package/Sample/Templates/sqlquery-Latest as Table.template +8 -0
  197. package/Sample/Templates/sqlquery-Order Items by Product Size.template +8 -0
  198. package/Sample/Templates/sqlquery-Route Bindings.template +8 -0
  199. package/Sample/Templates/sqlquery-Space by Event Type.template +8 -0
  200. package/Sample/Templates/view-Overview.template +35 -0
  201. package/Sample/Templates/view-Production.template +21 -0
  202. package/Sample/Templates/workspace-Seq Caf/303/251 /342/230/225.template" +46 -0
  203. package/Seq.Api.dll +0 -0
  204. package/Seq.Apps.dll +0 -0
  205. package/Seq.Syntax.V2.dll +0 -0
  206. package/SeqCli.ico +0 -0
  207. package/Serilog.AspNetCore.dll +0 -0
  208. package/Serilog.Extensions.Hosting.dll +0 -0
  209. package/Serilog.Extensions.Logging.dll +0 -0
  210. package/Serilog.Formatting.Compact.Reader.dll +0 -0
  211. package/Serilog.Formatting.Compact.dll +0 -0
  212. package/Serilog.Settings.Configuration.dll +0 -0
  213. package/Serilog.Sinks.Console.dll +0 -0
  214. package/Serilog.Sinks.Debug.dll +0 -0
  215. package/Serilog.Sinks.File.dll +0 -0
  216. package/Serilog.Sinks.Seq.dll +0 -0
  217. package/Serilog.dll +0 -0
  218. package/SerilogTracing.dll +0 -0
  219. package/Skills/building-seq-plug-in-apps/SKILL.md +540 -0
  220. package/Skills/seq-search-and-query/SKILL.md +360 -0
  221. package/Skills/working-with-seq-metrics/SKILL.md +157 -0
  222. package/Superpower.dll +0 -0
  223. package/System.AppContext.dll +0 -0
  224. package/System.Buffers.dll +0 -0
  225. package/System.Collections.Concurrent.dll +0 -0
  226. package/System.Collections.Immutable.dll +0 -0
  227. package/System.Collections.NonGeneric.dll +0 -0
  228. package/System.Collections.Specialized.dll +0 -0
  229. package/System.Collections.dll +0 -0
  230. package/System.ComponentModel.Annotations.dll +0 -0
  231. package/System.ComponentModel.DataAnnotations.dll +0 -0
  232. package/System.ComponentModel.EventBasedAsync.dll +0 -0
  233. package/System.ComponentModel.Primitives.dll +0 -0
  234. package/System.ComponentModel.TypeConverter.dll +0 -0
  235. package/System.ComponentModel.dll +0 -0
  236. package/System.Configuration.dll +0 -0
  237. package/System.Console.dll +0 -0
  238. package/System.Core.dll +0 -0
  239. package/System.Data.Common.dll +0 -0
  240. package/System.Data.DataSetExtensions.dll +0 -0
  241. package/System.Data.dll +0 -0
  242. package/System.Diagnostics.Contracts.dll +0 -0
  243. package/System.Diagnostics.Debug.dll +0 -0
  244. package/System.Diagnostics.DiagnosticSource.dll +0 -0
  245. package/System.Diagnostics.EventLog.dll +0 -0
  246. package/System.Diagnostics.FileVersionInfo.dll +0 -0
  247. package/System.Diagnostics.Process.dll +0 -0
  248. package/System.Diagnostics.StackTrace.dll +0 -0
  249. package/System.Diagnostics.TextWriterTraceListener.dll +0 -0
  250. package/System.Diagnostics.Tools.dll +0 -0
  251. package/System.Diagnostics.TraceSource.dll +0 -0
  252. package/System.Diagnostics.Tracing.dll +0 -0
  253. package/System.Drawing.Primitives.dll +0 -0
  254. package/System.Drawing.dll +0 -0
  255. package/System.Dynamic.Runtime.dll +0 -0
  256. package/System.Formats.Asn1.dll +0 -0
  257. package/System.Formats.Cbor.dll +0 -0
  258. package/System.Formats.Tar.dll +0 -0
  259. package/System.Globalization.Calendars.dll +0 -0
  260. package/System.Globalization.Extensions.dll +0 -0
  261. package/System.Globalization.dll +0 -0
  262. package/System.IO.Compression.Brotli.dll +0 -0
  263. package/System.IO.Compression.FileSystem.dll +0 -0
  264. package/System.IO.Compression.ZipFile.dll +0 -0
  265. package/System.IO.Compression.dll +0 -0
  266. package/System.IO.FileSystem.AccessControl.dll +0 -0
  267. package/System.IO.FileSystem.DriveInfo.dll +0 -0
  268. package/System.IO.FileSystem.Primitives.dll +0 -0
  269. package/System.IO.FileSystem.Watcher.dll +0 -0
  270. package/System.IO.FileSystem.dll +0 -0
  271. package/System.IO.IsolatedStorage.dll +0 -0
  272. package/System.IO.MemoryMappedFiles.dll +0 -0
  273. package/System.IO.Pipelines.dll +0 -0
  274. package/System.IO.Pipes.AccessControl.dll +0 -0
  275. package/System.IO.Pipes.dll +0 -0
  276. package/System.IO.UnmanagedMemoryStream.dll +0 -0
  277. package/System.IO.dll +0 -0
  278. package/System.Linq.AsyncEnumerable.dll +0 -0
  279. package/System.Linq.Expressions.dll +0 -0
  280. package/System.Linq.Parallel.dll +0 -0
  281. package/System.Linq.Queryable.dll +0 -0
  282. package/System.Linq.dll +0 -0
  283. package/System.Memory.dll +0 -0
  284. package/System.Net.Http.Json.dll +0 -0
  285. package/System.Net.Http.dll +0 -0
  286. package/System.Net.HttpListener.dll +0 -0
  287. package/System.Net.Mail.dll +0 -0
  288. package/System.Net.NameResolution.dll +0 -0
  289. package/System.Net.NetworkInformation.dll +0 -0
  290. package/System.Net.Ping.dll +0 -0
  291. package/System.Net.Primitives.dll +0 -0
  292. package/System.Net.Quic.dll +0 -0
  293. package/System.Net.Requests.dll +0 -0
  294. package/System.Net.Security.dll +0 -0
  295. package/System.Net.ServerSentEvents.dll +0 -0
  296. package/System.Net.ServicePoint.dll +0 -0
  297. package/System.Net.Sockets.dll +0 -0
  298. package/System.Net.WebClient.dll +0 -0
  299. package/System.Net.WebHeaderCollection.dll +0 -0
  300. package/System.Net.WebProxy.dll +0 -0
  301. package/System.Net.WebSockets.Client.dll +0 -0
  302. package/System.Net.WebSockets.dll +0 -0
  303. package/System.Net.dll +0 -0
  304. package/System.Numerics.Vectors.dll +0 -0
  305. package/System.Numerics.dll +0 -0
  306. package/System.ObjectModel.dll +0 -0
  307. package/System.Private.CoreLib.dll +0 -0
  308. package/System.Private.DataContractSerialization.dll +0 -0
  309. package/System.Private.Uri.dll +0 -0
  310. package/System.Private.Xml.Linq.dll +0 -0
  311. package/System.Private.Xml.dll +0 -0
  312. package/System.Reflection.DispatchProxy.dll +0 -0
  313. package/System.Reflection.Emit.ILGeneration.dll +0 -0
  314. package/System.Reflection.Emit.Lightweight.dll +0 -0
  315. package/System.Reflection.Emit.dll +0 -0
  316. package/System.Reflection.Extensions.dll +0 -0
  317. package/System.Reflection.Metadata.dll +0 -0
  318. package/System.Reflection.Primitives.dll +0 -0
  319. package/System.Reflection.TypeExtensions.dll +0 -0
  320. package/System.Reflection.dll +0 -0
  321. package/System.Resources.Reader.dll +0 -0
  322. package/System.Resources.ResourceManager.dll +0 -0
  323. package/System.Resources.Writer.dll +0 -0
  324. package/System.Runtime.CompilerServices.Unsafe.dll +0 -0
  325. package/System.Runtime.CompilerServices.VisualC.dll +0 -0
  326. package/System.Runtime.Extensions.dll +0 -0
  327. package/System.Runtime.Handles.dll +0 -0
  328. package/System.Runtime.InteropServices.JavaScript.dll +0 -0
  329. package/System.Runtime.InteropServices.RuntimeInformation.dll +0 -0
  330. package/System.Runtime.InteropServices.dll +0 -0
  331. package/System.Runtime.Intrinsics.dll +0 -0
  332. package/System.Runtime.Loader.dll +0 -0
  333. package/System.Runtime.Numerics.dll +0 -0
  334. package/System.Runtime.Serialization.Formatters.dll +0 -0
  335. package/System.Runtime.Serialization.Json.dll +0 -0
  336. package/System.Runtime.Serialization.Primitives.dll +0 -0
  337. package/System.Runtime.Serialization.Xml.dll +0 -0
  338. package/System.Runtime.Serialization.dll +0 -0
  339. package/System.Runtime.dll +0 -0
  340. package/System.Security.AccessControl.dll +0 -0
  341. package/System.Security.Claims.dll +0 -0
  342. package/System.Security.Cryptography.Algorithms.dll +0 -0
  343. package/System.Security.Cryptography.Cng.dll +0 -0
  344. package/System.Security.Cryptography.Csp.dll +0 -0
  345. package/System.Security.Cryptography.Encoding.dll +0 -0
  346. package/System.Security.Cryptography.OpenSsl.dll +0 -0
  347. package/System.Security.Cryptography.Pkcs.dll +0 -0
  348. package/System.Security.Cryptography.Primitives.dll +0 -0
  349. package/System.Security.Cryptography.ProtectedData.dll +0 -0
  350. package/System.Security.Cryptography.X509Certificates.dll +0 -0
  351. package/System.Security.Cryptography.Xml.dll +0 -0
  352. package/System.Security.Cryptography.dll +0 -0
  353. package/System.Security.Principal.Windows.dll +0 -0
  354. package/System.Security.Principal.dll +0 -0
  355. package/System.Security.SecureString.dll +0 -0
  356. package/System.Security.dll +0 -0
  357. package/System.ServiceModel.Web.dll +0 -0
  358. package/System.ServiceProcess.ServiceController.dll +0 -0
  359. package/System.ServiceProcess.dll +0 -0
  360. package/System.Text.Encoding.CodePages.dll +0 -0
  361. package/System.Text.Encoding.Extensions.dll +0 -0
  362. package/System.Text.Encoding.dll +0 -0
  363. package/System.Text.Encodings.Web.dll +0 -0
  364. package/System.Text.Json.dll +0 -0
  365. package/System.Text.RegularExpressions.dll +0 -0
  366. package/System.Threading.AccessControl.dll +0 -0
  367. package/System.Threading.Channels.dll +0 -0
  368. package/System.Threading.Overlapped.dll +0 -0
  369. package/System.Threading.RateLimiting.dll +0 -0
  370. package/System.Threading.Tasks.Dataflow.dll +0 -0
  371. package/System.Threading.Tasks.Extensions.dll +0 -0
  372. package/System.Threading.Tasks.Parallel.dll +0 -0
  373. package/System.Threading.Tasks.dll +0 -0
  374. package/System.Threading.Thread.dll +0 -0
  375. package/System.Threading.ThreadPool.dll +0 -0
  376. package/System.Threading.Timer.dll +0 -0
  377. package/System.Threading.dll +0 -0
  378. package/System.Transactions.Local.dll +0 -0
  379. package/System.Transactions.dll +0 -0
  380. package/System.ValueTuple.dll +0 -0
  381. package/System.Web.HttpUtility.dll +0 -0
  382. package/System.Web.dll +0 -0
  383. package/System.Windows.dll +0 -0
  384. package/System.Xml.Linq.dll +0 -0
  385. package/System.Xml.ReaderWriter.dll +0 -0
  386. package/System.Xml.Serialization.dll +0 -0
  387. package/System.Xml.XDocument.dll +0 -0
  388. package/System.Xml.XPath.XDocument.dll +0 -0
  389. package/System.Xml.XPath.dll +0 -0
  390. package/System.Xml.XmlDocument.dll +0 -0
  391. package/System.Xml.XmlSerializer.dll +0 -0
  392. package/System.Xml.dll +0 -0
  393. package/System.dll +0 -0
  394. package/Tavis.UriTemplates.dll +0 -0
  395. package/WindowsBase.dll +0 -0
  396. package/createdump +0 -0
  397. package/libSystem.Globalization.Native.dylib +0 -0
  398. package/libSystem.IO.Compression.Native.dylib +0 -0
  399. package/libSystem.Native.dylib +0 -0
  400. package/libSystem.Net.Security.Native.dylib +0 -0
  401. package/libSystem.Security.Cryptography.Native.Apple.dylib +0 -0
  402. package/libclrgc.dylib +0 -0
  403. package/libclrgcexp.dylib +0 -0
  404. package/libclrjit.dylib +0 -0
  405. package/libcoreclr.dylib +0 -0
  406. package/libhostfxr.dylib +0 -0
  407. package/libhostpolicy.dylib +0 -0
  408. package/libmscordaccore.dylib +0 -0
  409. package/libmscordbi.dylib +0 -0
  410. package/mscorlib.dll +0 -0
  411. package/netstandard.dll +0 -0
  412. package/package.json +24 -0
  413. package/seqcli +0 -0
  414. package/seqcli.deps.json +1838 -0
  415. package/seqcli.dll +0 -0
  416. package/seqcli.pdb +0 -0
  417. package/seqcli.runtimeconfig.json +19 -0
@@ -0,0 +1,360 @@
1
+ ---
2
+ name: seq-search-and-query
3
+ description: Search and query logs and spans in Seq. Use when interacting with Seq.
4
+ license: Apache-2.0
5
+ metadata:
6
+ author: Datalust and Contributors
7
+ ---
8
+
9
+ Seq is a storage service for log and trace telemetry. Search Seq to retrieve matching log events and spans. Query Seq to
10
+ compute tabular, aggregate results from log events and spans.
11
+
12
+ Seq's query language is **not SQL** — assuming SQL semantics will produce errors. Do NOT rely on prior knowledge of
13
+ Seq's query language. **Always** use the grammar, rules, and examples in this document as a basis for Seq queries and
14
+ searches.
15
+
16
+ ## Starting a Diagnostic Session
17
+
18
+ Being "confidently wrong" is the most common and worst failure mode when working with diagnostic data. EVERY diagnostic
19
+ session MUST begin with the following steps:
20
+
21
+ 1. Check for relevant signals. Many event filtering problems have already been solved and the resulting filters saved as efficiently indexed signals.
22
+ 2. Retrieve a sample of relevant events. Use signals identified in (1) where appropriate, event search and query supports them.
23
+ 3. Proactively confirm the schema of the search results using appropriate tools.
24
+ 4. Inspect a subset of relevant events in full.
25
+ 5. Determine how the correctness of any conclusions can be verified using real diagnostic data.
26
+
27
+ DO NOT skip steps just because early results suggest a quicker path to a solution: this is the path to being confidently wrong!
28
+
29
+ ## Event Data Model
30
+
31
+ All events stored in Seq use the same data model. Spans are distinguished from log events by the presence of the
32
+ `@Start` property. The following built-in properties are supported.
33
+
34
+ | Built in property name | Type | Description |
35
+ |---|---|---|
36
+ | `@Arrived` | `number` | An integer indicating the order in which the event arrived at the Seq server relative to other events in the same batch. |
37
+ | `@Data` | `object` | A compact internal representation of the event as a single structured object. High runtime cost, should be avoided when possible. |
38
+ | `@Elapsed` | `number?` | The elapsed duration of a span, expressed in 100 nanosecond ticks. In the same domain as Seq's duration literals such as `1s`, `23ms`, or `3d`. Only present on spans, not present on log events. |
39
+ | `@EventType` | `number` | A numeric hash of the message template that was used to generate the event. The message template itself is in the `@MessageTemplate` property. |
40
+ | `@Exception` | `string?` | The exception associated with the event if any, as a string. This normally incorporates the exception type, message, and stack trace. |
41
+ | `@Id` | `string` | The event's unique id in Seq. |
42
+ | `@Level` | `string` | The severity of a log event, or completion status of a span. Values are source-dependent, so for example `'Error'`, `'ERROR'`, and `'err'` would all be typical values. |
43
+ | `@Message` | `string` | Human-readable text associated with the event. Often the result of substituting `@Properties` values into `@MessageTemplate`. For spans, this property carries the span name. |
44
+ | `@MessageTemplate` | `string` | A message template, following the `messagetemplates.org` syntax. Message templates collectively identify events generated from the same line of logging/tracing code. |
45
+ | `@ParentId` | `string?` | The `@SpanId` of the parent of a given span, if any. The parent span will always belong to the same trace, that is, share a `@TraceId` value. Only present on spans, not log events. |
46
+ | `@Properties` | `object?` | An object containing the user-defined properties of a log event or span. Properties with names that are valid C-style identifiers can be accessed implicitly, so `RequestPath` is syntactically equivalent to `@Properties['RequestPath']`. Properties generally conform to naming conventions used throughout the Seq server - sometimes simple PascalCase names, and at other times using the OpenTelemetry semantic conventions. See also `@Resource` and `@Scope`. |
47
+ | `@Resource` | `object?` | For an OpenTelemetry log event or span, the properties associated with the OpenTelemetry resource. These may follow the OTel semantic conventions, but may also be domain-specific or user-defined. |
48
+ | `@Scope` | `object?` | For an OpenTelemetry log event or span, the properties associated with the OpenTelemetry scope. These may match definitions in the OTel semantic conventions, but may also be domain-specific or user-defined. |
49
+ | `@SpanId` | `string?` | The W3C span id that uniquely identifies a span within a trace. Log events recorded during the span carry the same `@SpanId` value as the span itself. |
50
+ | `@SpanKind` | `string?` | The OpenTelemetry span kind. Only present on spans, not log events. |
51
+ | `@Start` | `number?` | The time at which the span started. `@Timestamp` minus `@Start` is the `@Elapsed` time of the span. In the same units as Seq's duration literal syntax. |
52
+ | `@Timestamp` | `number` | The time at which an event was recorded (completion time, for spans). Carried on all log events and spans. In the same units as Seq's duration literal syntax. |
53
+ | `@TraceId` | `string?` | The W3C trace id that uniquely identifies a trace. All spans and log events within a trace carry the same trace id value. |
54
+
55
+ > Tip: if searching or querying with `seqcli`, pass `--native` to show results in round-trippable, agent-friendly syntax. Consider `--json` instead for programmatic scenarios, but take care: in JSON output mode, built-in property names are abbreviated.
56
+
57
+ ## Type System
58
+
59
+ Stored data and intermediate values in expression evaluation are typed dynamically. Values are always one of the following types.
60
+
61
+ | Type name | Description | Example literals |
62
+ |---|---|---|
63
+ | **null** | The atom `null`. Null is a value in Seq's type system. | `null` |
64
+ | **boolean** | The atoms `true` and `false`. | `true`, `false` |
65
+ | **number** | Decimal numbers with the range and precision of .NET's `decimal` type. | `0`, `12.34`, `56ms`, `DateTime('2026-05-29T10:56:01.43278Z')`, `0xa1b234ff` |
66
+ | **array** | An ordered array of values. | `[]`, `[17, null, {a: 'test'}]` |
67
+ | **object** | An unordered set of name/value pairs. | `{}`, `{a: 'test', 'b c': 17, d: []}` |
68
+
69
+ In expression evaluation, Seq does not perform any type coercion.
70
+
71
+ The results of functions and operators that receive invalid arguments are undefined, which is the absence of a value
72
+ (_undefined_ has the same "poison" semantics as `NULL` in standard SQL).
73
+
74
+ Type notation in this document column uses the suffix `?` on a type name to indicate values that may be undefined.
75
+ The synthetic type name `any` is used as an alias for `null | boolean | number | array | object`.
76
+
77
+ ## Scalar Functions and Operators
78
+
79
+ These built-in functions and operators work with individual values. See Aggregate Functions for information on functions like `count()` and `distinct()` that work with sets of values.
80
+
81
+ | Function signature | Description |
82
+ |---|---|
83
+ | `Arrived(eventId: string): number?` | Evaluates to the arrival order encoded in `eventId`. The arrival order is a hint that preserves the order of events from the same source that have the same timestamp. |
84
+ | `Bucket(n: number, err: number?): number` | Reduce precision of `n` by computing the midpoint of the closest logarithmic bucket. The optional `err` parameter specifies the maximum permissible error fraction. |
85
+ | `Coalesce(arg0: any?, arg1: any?, ...): any?` | Evaluates to the first defined, non-`null` argument. If no argument meets this requirement, `Coalesce` returns the value of its final argument. |
86
+ | `Concat(str0: string, str1: string, ...): string` | Concatenate all string arguments. No type coercion is performed. |
87
+ | `Contains(text: string, substring: string): boolean` | Evaluates to `true` if text contains substring. Supports the `ci` modifier. |
88
+ | `DatePart(datetime: number, part: string, offset: number): number?` | Compute the value of `part` for the date/time `datetime` at time zone offset `offset`. Both `datetime` and `offset` are 100-nanosecond tick values. If `part` is not a recognized part name, the result is undefined. See the documentation section on date and time handling for more information. |
89
+ | `DateTime(str: string): number?` | Attempt to parse the date/time value encoded in the string `str`. If the value cannot be parsed as a date/time, the result is undefined. |
90
+ | `ElementAt(collection: array \| object, index: number \| string): any?` | Access the element of the array or object `collection` at the index or key `index`. Supports the `ci` modifier. |
91
+ | `EndsWith(text: string, substring: string): boolean` | Evaluates to `true` if `text` ends with `substring`. Supports the `ci` modifier. |
92
+ | `Every(collection: array \| object, predicate): boolean` | Evaluates to `true` if the function predicate evaluates to `true` for all elements of the array or object `collection`. |
93
+ | `FromJson(json: string): any?` | Parse JSON, producing a value of the corresponding Seq native type. If `json` is not valid JSON, the result is undefined. High runtime cost, should be avoided when possible. |
94
+ | `Has(arg: any?): boolean` | Evaluates to `true` if `arg` is defined. Otherwise, if `arg` is undefined, the result is `false`. |
95
+ | `IndexOf(text: string, substring: string): number` | Return the zero-based index of the first occurrence of `substring` in `text`. If substring is not present in text, the result is `-1`. Supports the `ci` modifier. |
96
+ | `Keys(obj: object): array` | Evaluates to an array containing the keys of the object `obj`. |
97
+ | `LastIndexOf(text: string, substring: string): number` | Return the zero-based index of the last occurrence of `substring` in `text`. If substring is not present in text, the result is `-1`. Supports the `ci` modifier. |
98
+ | `Length(arg: string \| array): number` | Evaluates to the length of the string or array `arg`. |
99
+ | `Now(): number` | Evaluates to the current time, as 100-nanosecond ticks since 00:00:00 on 0001-01-01. |
100
+ | `OffsetIn(timezone: string, instant: number): number?` | Determine the offset from UTC in time zone `timezone` at instant `instant`. The time zone name must be an IANA time zone name. The instant value is specified in 100-nanosecond ticks. See the documentation section on date and time handling for more information. |
101
+ | `Replace(text: string, substring: string, replacement: string): string` | Replace all occurrences of `substring` in `text` with `replacement`. Accepts a `/regular expression/` in place of `substring`, in which case replacement may use `$0` to refer to the match, `$1` the first capturing group, and so on. Regular expression replacements use `$$` to escape a single dollar sign. Supports the `ci` modifier. |
102
+ | `Round(value: number, places: number): number` | Round `value` to specified number of decimal places. Midpoint values (0.5) are rounded up. |
103
+ | `Some(collection: array \| object, predicate): boolean` | Evaluates to `true` if the function predicate evaluates to `true` for any element of the array or object `collection`. |
104
+ | `StartsWith(text: string, substring: string): boolean` | Evaluates to `true` if text starts with substring. Supports the `ci` modifier. |
105
+ | `Substring(str: string, start: number, length: number?): string?` | Evaluates to the substring of string `str` from the zero-based index `start`, of `length` characters. If `length` is not specified, or exceeds the number of characters remaining after `start`, the result is the remainder of the string. The result is undefined if `start` is out of bounds, or if either `start` or `length` is negative. |
106
+ | `TimeOfDay(datetime: number, offsetHours: number): number` | Compute the time of day of the date/time `datetime` in the time zone offset `offsetHours`. |
107
+ | `TimeSpan(str: string): number?` | Attempt to parse the `d.HH:mm:ss.f` formatted time value encoded in the string `str`. If the value cannot be parsed as a time, the result is undefined. |
108
+ | `ToEventType(str: string): any` | Compute the event type that Seq automatically assigns to `@EventType` from the message template `str`. |
109
+ | `ToHexString(num: number): string` | Format `num` as a hexadecimal string, including leading `0x`. Decimal digits are discarded. |
110
+ | `ToIsoString(datetime: number, offset: number?): string` | Format `datetime` as an ISO-8601 string, with an optional time zone offset. Both the datetime and offset arguments are interpreted as 100-nanosecond ticks since the epoch. The offset argument defaults to 0, or UTC. Output is given with the UTC or full time zone designator, i.e. Z or ±hh:mm. |
111
+ | `ToJson(arg: any): string` | Convert the value `arg` to JSON. Can be used to convert a value (e.g. number) to a string. |
112
+ | `ToLower(str: string): string` | Convert string `str` to lowercase. To compare strings in a case-insensitive manner, use the equality operator and `ci` modifier instead. |
113
+ | `ToNumber(str: string): number?` | Parse string `str` as a number. |
114
+ | `TotalMilliseconds(timespan: number \| string): number?` | Evaluates to the total number of milliseconds represented by the time span `timespan`. If `timespan` is a number, it will be interpreted as containing 100-nanosecond ticks. If `timespan` is a string, it will be parsed in the same manner as performed by `TimeSpan()`. |
115
+ | `ToTimeString(timespan: number): string` | Format `timespan` as an `d.HH:mm:ss.f` string. The `timespan` argument is interpreted as 100-nanosecond ticks. The inverse of TimeSpan. |
116
+ | `ToUpper(str: string): string` | Convert string `str` to uppercase. To compare strings in a case-insensitive manner, use the equality operator and `ci` modifier instead. |
117
+ | `TypeOf(arg: any?): string` | Returns the type of value, either `'object'`, `'array'`, `'string'`, `'number'`, `'boolean'`, `'null'`, or `'undefined'`. |
118
+ | `Values(obj: object): array` | Evaluates to an array containing the values of the members of object `obj`. |
119
+ | Operator `+`, `-`, `*`, `/` | Arithmetic operators. If any argument is non-numeric, or if a divisor is zero, the result is undefined. |
120
+ | Operator `-` (prefix) | Negate a number. If any argument is non-numeric, the result is undefined. |
121
+ | Operator `%` | Remainder after dividing the left-hand operand by the right. If the right-hand operand is zero, the result is undefined. If any argument is non-numeric, the result is undefined. |
122
+ | Operator `^` | Raise a number to the specified power. If any argument is non-numeric, the result is undefined. |
123
+ | Operator `=` | Compare two values, returning `true` if the values are equal, and `false` otherwise. Structural comparison is supported, so the values may be of any type including objects and arrays. If the right-hand operand is a `/regular expression/`, the result is `true` if the left-hand operand is a string that is an exact match for the regular expression. If any argument is undefined, the result is undefined. Supports the `ci` modifier. |
124
+ | Operator `<>` | Compare two values, returning `true` if the values are unequal, and `false` otherwise. Structural comparison is supported, so the values may be of any type including objects and arrays. If any argument is undefined, the result is undefined. Supports the `ci` modifier. |
125
+ | Operator `<`, `<=`, `>`, `>=` | Compare two values. If any argument is undefined, the result is undefined. |
126
+ | Operator `and` | The result of `a and b` is `true` if and only if both `a` and `b` are `true`; the result is otherwise `false`. Type coercion is not performed. If any argument is non-Boolean, the result is undefined. |
127
+ | Operator `not` (prefix) | Evaluates to `true` if the operand is `false`, or if the operand is undefined. Type coercion is not performed. If any argument is non-Boolean, the result is undefined. |
128
+ | Operator `or` | The result of `a or b` is `true` if either `a` or `b` is `true`; otherwise the result is `false`. Type coercion is not performed. If any argument is non-Boolean, the result is undefined. |
129
+ | Operator `like` | Determine if the left-hand operand is a string matching the right-hand pattern. The pattern can contain `%` and `?` wildcards for zero-or-many, or zero-or-one characters. `%` and `?` are escaped by doubling. The inverse `not like` is also supported. |
130
+ | Operator `is null` | Determine if the left-hand operand is `null` or undefined. The result is always a defined `boolean`. The inverse `is not null` is also supported. |
131
+ | Operator `in` | Determine if the left-hand operand is an element of the right-hand array. |
132
+
133
+ ## Aggregate Functions
134
+
135
+ `select` queries have access to the following aggregate functions.
136
+
137
+ | Aggregate function signature | Description | Example |
138
+ |---|---|---|
139
+ | `all(expr: boolean): boolean` | Return `true` if `expr` is `true` for all events in the stream. | `all(@Level = 'Error')` |
140
+ | `any(expr: boolean): boolean` | Return `true` if `expr` is `true` for any event in the stream. | `any(@Level = 'Error')` |
141
+ | `bottom(expr: any, n: number): rowset` | Compute the last `n` values that appear for `expr`. The `bottom` function cannot appear with any other aggregate functions. The default ordering for `select` queries on `stream` is time-ascending. See also: `top()`, `first()`, `last()`. | `bottom(StatusCode, 5)` |
142
+ | `count(property: any): number` | Computes the number of events that have a non-`null` value for `property`. The special property name `*` can be used to count all events. | `count(*)` |
143
+ | `distinct(expr: any): rowset` | Computes the set of distinct values for `expr`. The `distinct` function cannot appear with any other aggregate functions. `distinct()` and `count()` can be combined to count distinct values without returning them all. | `distinct(ExceptionType)` |
144
+ | `first(expr: any): any` | Returns the value of `expr` applied to the first events in the target range. | `first(Elapsed)` |
145
+ | `last(expr: any): any` | Returns the value of `expr` applied to the last events in the target range. | `last(Elapsed)` |
146
+ | `interval(): number` | In a query that groups by time, the duration of each time slice. | `count(*) / (interval() / 1d)` |
147
+ | `min(expr: number): number` | Computes the smallest value for `expr`. | `min(Elapsed / 1000)` |
148
+ | `max(expr: number): number` | Computes the largest value for `expr`. | `max(Elapsed / 1000)` |
149
+ | `mean(expr: number): number` | Computes the arithmetic mean (average) of `expr`, i.e. `sum(expr) / count(expr)`. Events where the expression is `null` or not numeric are ignored and do not contribute to the final result. | `mean(ItemCount)` |
150
+ | `percentile(expr: number, p: number [, err: number?]): number` | Given a percentage `p`, calculates the value of `expr` at or below which `p` percent of the results fall. The optional `err` parameter specifies the maximum permissible error fraction. Higher error values reduce compute and memory resource consumption. | `percentile(ResponseTime, 95 , 0.01)` |
151
+ | `phist(expr: number, count: number, p: number): number` | Bucketed (histogram) percentile. | |
152
+ | `sum(expr: number): number` | Calculates the sum of `expr`. Non-numeric values are ignored. | `sum(ItemsOrdered)` |
153
+ | `top(expr: any, n: number): rowset` | Select the first `n` values of `expr`. The `top` function cannot appear with any other aggregate functions. | `top(StatusCode, 5)` |
154
+
155
+ ## Base Grammar
156
+
157
+ ```ebnf
158
+ identifier = ( letter | '_' ) , { letter | digit | '_' } ;
159
+ built_in_identifier = '@' , ( letter | digit | '_' ) , { letter | digit | '_' } ;
160
+ variable = '$' , ( letter | digit | '_' ) , { letter | digit | '_' } ;
161
+ letter = ? any Unicode letter ? ;
162
+ digit = ? any Unicode digit ? ;
163
+ string_literal = "'" , { string_char } , "'" ;
164
+ string_char = "''" | ? any character except single quote ? ;
165
+ number = natural , [ '.' , natural ] ;
166
+ hex_number = '0x' , hex_digit , { hex_digit } ;
167
+ natural = digit , { digit } ;
168
+ hex_digit = digit | 'a' | 'b' | 'c' | 'd' | 'e' | 'f'
169
+ | 'A' | 'B' | 'C' | 'D' | 'E' | 'F' ;
170
+ duration = { natural , time_unit }- ;
171
+ time_unit = 'd' | 'h' | 'ms' | 'm' | 'us' | 'μs' | 'ns' | 's' ;
172
+ regular_expression = '/' , { regex_char } , '/' ;
173
+ regex_char = '\/' | ? any character except '/' ? ;
174
+ ```
175
+
176
+ ### Expression Grammar
177
+
178
+ ```ebnf
179
+ Expr = Disjunction ;
180
+ Disjunction = Conjunction , { 'or' , Conjunction } ;
181
+ Conjunction = Comparison , { 'and' , Comparison } ;
182
+ Comparison = Comparand , { comparison_op , Comparand , [ 'ci' ] } ;
183
+ comparison_op = 'not' , 'like'
184
+ | 'like'
185
+ | 'not' , 'in'
186
+ | 'in'
187
+ | '<=' | '<>' | '<'
188
+ | '>=' | '>'
189
+ | '=' ;
190
+ Comparand = Term , { ( '+' | '-' ) , Term } ;
191
+ Term = InnerTerm , { ( '*' | '/' | '%' ) , InnerTerm } ;
192
+ InnerTerm = Operand , { '^' , Operand } ;
193
+
194
+ Operand = ( unary_op , Operand | Path ) , [ 'is' , null_test ] ;
195
+ unary_op = '-' | 'not' ;
196
+ null_test = 'null' | 'not' , 'null' ;
197
+ Path = Factor , { path_step } ;
198
+ path_step = '.' , identifier
199
+ | '[' , ( wildcard | Expr ) , ']' ;
200
+ wildcard = '?' | '*' ;
201
+ Factor = '(' , Expr , ')'
202
+ | Item ;
203
+ Item = Property
204
+ | Literal
205
+ | Function
206
+ | ArrayLiteral
207
+ | ObjectLiteral
208
+ | Conditional
209
+ | Block
210
+ | Lambda
211
+ | Variable ;
212
+ Property = built_in_identifier
213
+ | identifier ; (* when not followed by '(' *)
214
+ Literal = string_literal
215
+ | number
216
+ | hex_number
217
+ | duration
218
+ | regular_expression
219
+ | 'true'
220
+ | 'false'
221
+ | 'null' ;
222
+ Function = function_name , '(' , arg_list , ')' , [ 'ci' ] ;
223
+ function_name = identifier
224
+ | 'and' | 'not' | 'or' ;
225
+ arg_list = '*' (* only valid for count(*) *)
226
+ | [ Expr , { ',' , Expr } ] ;
227
+ ArrayLiteral = '[' , [ Expr , { ',' , Expr } ] , ']' ;
228
+ ObjectLiteral = '{' , [ ObjectMember , { ',' , ObjectMember } ] , '}' ;
229
+ ObjectMember = ( identifier | string_literal ) , ':' , Expr ;
230
+ Conditional = 'if' , Expr , 'then' , Expr , 'else' , Expr ;
231
+ Block = 'let' , '|' , Binding , { ',' , Binding } , '|' , Expr ;
232
+ Binding = identifier , ':' , Expr ;
233
+ Lambda = '|' , [ identifier , { ',' , identifier } ] , '|' , Expr ;
234
+ Variable = variable ;
235
+ ```
236
+
237
+ ### Query Grammar
238
+
239
+ ```ebnf
240
+ Query = [ ExplainClause ]
241
+ SelectClause
242
+ [ IntoClause ]
243
+ [ FromClause ]
244
+ [ WhereClause ]
245
+ [ GroupByClause ]
246
+ [ HavingClause ]
247
+ [ OrderByClause ]
248
+ [ LimitClause ]
249
+ [ ForClause ] ;
250
+ ExplainClause = 'explain' , [ 'analyze' | 'lower' ] ;
251
+ SelectClause = 'select' , SelectColumn , { ',' , SelectColumn } ;
252
+ SelectColumn = '*'
253
+ | Expr , [ 'as' , identifier ] ;
254
+ IntoClause = 'into' , variable ;
255
+ FromClause = 'from' , source , { LateralJoin } ;
256
+ source = 'stream' | 'series' ;
257
+ LateralJoin = 'lateral' , 'unnest' , '(' , Expr , ')' , 'as' , identifier ;
258
+ WhereClause = 'where' , Expr ;
259
+ GroupByClause = 'group' , 'by' , Grouping , { ',' , Grouping } ;
260
+ Grouping = TimeGrouping
261
+ | Expr , [ 'ci' ] , [ 'as' , identifier ] ;
262
+ TimeGrouping = 'time' , '(' , duration , ')' ;
263
+ HavingClause = 'having' , Expr ;
264
+ OrderByClause = 'order' , 'by' , Ordering , { ',' , Ordering } ;
265
+ Ordering = TimeOrdering
266
+ | identifier , [ 'ci' ] , [ 'asc' | 'desc' ] ; (* identifier must be a selected column or group key alias *)
267
+ TimeOrdering = 'time' ;
268
+ LimitClause = 'limit' , natural ;
269
+ ForClause = 'for' , ForOption , { ',' , ForOption } ;
270
+ ForOption = identifier , [ '(' , [ Expr , { ',' , Expr } ] , ')' ] ;
271
+ ```
272
+
273
+ Keywords are case-insensitive.
274
+
275
+ ## Example Expressions
276
+
277
+ | Example | Purpose |
278
+ |--------------------------------------------------------------------|----------------------------------------------------------------------------------------------|
279
+ | `@Timestamp >= Now() - 10m` | Match events that occurred in the last ten minutes. |
280
+ | `@TraceId = '0af7651916cd43dd8448eb211c80319c'` | Match all events (both spans and log events) belonging to the given trace. |
281
+ | `Has(@Start)` | Match all spans (excludes log events). |
282
+ | `@Message like '%overflow%' ci or @Exception like '%overflow%' ci` | Given a piece of text, find events with that text in their message or exception/stack trace, using case-insensitive comparisons. |
283
+ | `Items[?] = 'coffee'` | Wildcard "any" - check if element appears in collection. |
284
+ | `ToIsoString(@Timestamp)` | Render a numeric timestamp as ISO-8601. |
285
+ | `ToTimeString(@Elapsed)` | Render a numeric duration value as a human-readable time string. |
286
+ | `@Resource.service.name = 'unknown_service'` | Match events from a specific service (OpenTelemetry semantic convention) |
287
+ | `@TraceId = '...' and @SpanId = '...' and Has(@Start)` | Retrieve a specific trace span using a search expression |
288
+ | `@Level like 'err%' ci` | Perform a case-insensitive prefix search |
289
+
290
+ ## Query Example
291
+
292
+ Grouped query with ordering:
293
+
294
+ ```
295
+ select count(*)
296
+ from stream
297
+ group by @Resource.service.name as service
298
+ order by service
299
+ ```
300
+
301
+ ## Tracing Tactics
302
+
303
+ * Find traces by searching for their included spans.
304
+ * To reconstruct a trace as a call tree, use the `seq_load_trace` MCP tool, or run `seqcli trace -i <traceid>`.
305
+ * Project additional Seq expressions per span with `columns` (CLI: repeated `--column`), for example
306
+ `@Resource.service.name` or `@SpanKind`; values appear in each node's `columns` object, keyed by expression.
307
+ * On large traces, pass `span_id` (CLI: `--span-id`) to retrieve only the subtree rooted at one span.
308
+ * If `complete` is `false`, the trace was truncated at the retrieval limit.
309
+ * Log events recorded during a span are not included by `seq_load_trace`; find them by searching with
310
+ `@TraceId = '...' and @SpanId = '...' and not Has(@Start)` (CLI: pass `--logs`).
311
+ * To see all properties of a single span, use the "retrieve a specific trace span" search recipe above.
312
+
313
+ Rank services by span latency over a window:
314
+
315
+ ```
316
+ select
317
+ count(*) as spans,
318
+ Round(TotalMilliseconds(percentile(@Elapsed, 95)), 2) as p95_ms,
319
+ Round(TotalMilliseconds(max(@Elapsed)), 2) as max_ms
320
+ from stream
321
+ where @Timestamp >= now() - 30m and Has(@Start)
322
+ group by @Resource.service.name as service -- group key: alias it, do NOT put it in the select list
323
+ having spans > 50 -- filter groups by the select alias, NOT by count(*) directly
324
+ order by p95_ms desc -- order by a selected aggregate's alias
325
+ limit 100
326
+ ```
327
+
328
+ ## User-Defined Property Schema
329
+
330
+ Seq servers are compatible with a vast array of data sources. They may use a mix of OpenTelemetry and
331
+ framework/ecosystem-specific property names, and may do so inconsistently.
332
+
333
+ When available, **always use the MCP schema tool** to inspect the actual properties appearing on search results. In
334
+ particular, don't skip schema checks early in investigations just because you've seen a few events. Events are
335
+ inconsistent! Use the schema tool at least once just to be safe.
336
+
337
+ ## Gotchas
338
+
339
+ - Group keys are automatically included in result rowsets and **must not** be explicitly included in the `select` list.
340
+ - To order by group keys, apply an alias with `group by <expr> as <alias>` and use `order by <alias>`. Never add the group key to the `select` list, this will fail.
341
+ - OpenTelemetry dotted property names correspond to property accessor paths in Seq, so `@Resource.service.name` and `http.response.status_code` are written exactly like this.
342
+ - **Never** put a dotted OTel name inside `[...]`. `@Resource['a.b.c']` is a single literal key (almost always undefined); use `@Resource.a.b.c` for path navigation.
343
+ - Seq expression literals are not JSON, take care to use the Seq expression syntax when formatting literal values.
344
+ - Seq queries are not SQL. Don't expect standard SQL syntax, operators, or semantics to apply, always use the grammar and built-ins described above.
345
+ - Seq searches work backwards through the event stream and always return results in reverse-chronological order, from **most recent** to least recent.
346
+ - Data in Seq servers doesn't always use OpenTelemetry semantic conventions. When searching or querying, only use property names from the built-ins described above, that appear on search results, or that are returned from the schema tool.
347
+ - Bare identifiers like `SomeName` are synonymous with `@Properties['SomeName']`. The latter form allows irregular names to be used.
348
+ - The only escape sequence allowed and required in Seq strings is a doubled single quote - `''` - which evaluates to an embedded literal single quote. Backslash escaping is not recognized.
349
+ - `@Timestamp`, `@Start`, and `@Elapsed` are internally represented as .NET `DateTime` ticks (100 ns resolution) in order to support consistent timestamp/duration math. Comparing these properties with strings will fail: use duration literals for durations, and the `DateTime` function to convert from ISO-8601 strings.
350
+ - Although Seq's types resemble those from JavaScript, Seq does not support JavaScript operators and does not use JavaScript's system of comparisons.
351
+ - The expression `null = null` is `true` in Seq's type system; `null` is just a regular value.
352
+ - Timestamp bounds with inclusive starts and exclusive ends are the most efficient for Seq to work with.
353
+ - Regular expression evaluation is extremely expensive, avoid these as much as possible.
354
+ - Queries without `from stream` or `from series` are scalar (can't project out fields or compute aggregations).
355
+ - Searches and queries should always constrain results using `@Timestamp`, `@TraceId`, or `@Id`.
356
+ - `group by time(..)` requires an inclusive lower time bound on `@Timestamp`.
357
+ - Queries impose a default limit of 1024 rows, which can be changed with the `limit` clause. Set smaller limits to conserve resources when speculatively exploring.
358
+ - Use `ToIsoString()` and `ToTimeString()` to make timestamps or durations (even computed ones) readable. If you forget, you can convert individual values cheaply with a scalar query like `ToIsoString(12345)`.
359
+ - When grouping by `time(..)`, the time ordering leaves of the interval - just `order by time`, the interval isn't re-specified.
360
+ - All function calls and operators are case-sensitive unless the `ci` modifier is appended.
@@ -0,0 +1,157 @@
1
+ ---
2
+ name: working-with-seq-metrics
3
+ description: Query metrics stored in Seq. Use this when monitoring data or diagnostic metric information is required.
4
+ license: Apache-2.0
5
+ metadata:
6
+ author: Datalust and Contributors
7
+ ---
8
+
9
+ Seq stores OpenTelemetry metric samples in the `series` data source, which is a columnar data store.
10
+
11
+ Metrics are accessed **strictly** using the following workflow:
12
+
13
+ 1. Search for metric definitions
14
+ 2. Note the _kind_ of any relevant metrics
15
+ 3. List the dimensions that apply to the metric
16
+ 4. Optionally, list the values present in dimensions of interest
17
+ 5. Run aggregate queries on metric samples using metric names, kinds, and dimensions discovered in the previous steps
18
+
19
+ **NEVER** query the `series` data source for metric definitions directly. **ALWAYS** use the dedicated definition search tools instead.
20
+
21
+ **NEVER** query the `series` data source directly for available dimensions. **ALWAYS** use the dedicated dimension listing tools instead.
22
+
23
+ **NEVER** list dimension values using the `distinct` aggregation. **ALWAYS** use the dedicated dimension value listing tools instead.
24
+
25
+ **NEVER** evaluate projection queries against the `series` data source. This risks impacting the performance of Seq for other
26
+ users and workloads.
27
+
28
+ ## Searching for Metric Definitions
29
+
30
+ Metric samples carry an `@Definitions` object where metric names are keys into the object. Under each metric name key,
31
+ a `description` property is available.
32
+
33
+ Search for metrics with `cpu` in their **name** or **description** (case-insensitive):
34
+
35
+ ```
36
+ Keys(@Definitions)[?] like '%cpu%' ci or @Definitions[?].description like '%cpu%' ci
37
+ ```
38
+
39
+ Search for metrics reported by a specific service:
40
+
41
+ ```
42
+ @Resource.service.name = 'accounting'
43
+ ```
44
+
45
+ If metrics searches report syntax errors, you MUST load the `seq-search-and-query` skill.
46
+
47
+ ## Listing Dimensions
48
+
49
+ Determine the dimensions that apply to a metric using the dimensions MCP tool or the `seqcli metrics dimensions` CLI
50
+ command.
51
+
52
+ ## Listing Unique Dimension Values
53
+
54
+ DO NOT use `distinct` to query for the values of a metric dimension like `@Resource.service.name`. Always use the
55
+ dimension values MCP tool or `seqcli metrics dimensionvalues` CLI command.
56
+
57
+ ## Querying Metric Samples
58
+
59
+ Metrics returned from definition searches are tagged with a kind:
60
+
61
+ * `Sum` - counter with delta aggregation temporality
62
+ * `Gauge` - gauge or counter with cumulative aggregation temporality
63
+ * `Fixed` - histogram with fixed buckets
64
+ * `Exponential` - histogram with exponential buckets
65
+
66
+ Correctly querying metric sample data from `series` relies on knowing the metric kind.
67
+
68
+ ### `Sum` Query Example
69
+
70
+ ```
71
+ select sum(app_product_review_counter) as reviews_submitted
72
+ from series
73
+ where Has(app_product_review_counter)
74
+ and @Timestamp >= now() - 15m
75
+ group by time(1m)
76
+ ```
77
+
78
+ ### `Gauge` Query Examples
79
+
80
+ ```
81
+ select max(dotnet.gc.last_collection.heap.size) as heap_size_bytes
82
+ from series
83
+ where (Has(dotnet.gc.last_collection.heap.size))
84
+ and @Resource.service.name = 'accounting'
85
+ and @Timestamp >= now() - 15m
86
+ group by time(1m), @Resource.service.instance.id
87
+ having heap_size_bytes > 5000000
88
+ limit 100
89
+ ```
90
+
91
+ ### `Fixed` Query Examples
92
+
93
+ HTTP request timing percentiles:
94
+
95
+ ```
96
+ select
97
+ phist(coalesce((bucket.from + bucket.to) / 2, bucket.from, bucket.to), bucket.count, 95) as p95,
98
+ phist(coalesce((bucket.from + bucket.to) / 2, bucket.from, bucket.to), bucket.count, 99) as p99
99
+ from series
100
+ lateral unnest(http.server.request.duration.buckets) as bucket
101
+ where Has(http.server.request.duration.buckets)
102
+ and @Resource.service.name = 'cart'
103
+ and @Scope.name = 'Microsoft.AspNetCore.Hosting'
104
+ and @Timestamp >= now() - 15m
105
+ group by time(1m)
106
+ limit 100
107
+ ```
108
+
109
+ HTTP request througput (counts):
110
+
111
+ ```
112
+ select sum(http.server.request.duration.count) as request_throughput
113
+ from series
114
+ where Has(http.server.request.duration.buckets)
115
+ and @Resource.service.name = 'cart'
116
+ and @Scope.name = 'Microsoft.AspNetCore.Hosting'
117
+ and @Timestamp >= now() - 15m
118
+ group by time(1m)
119
+ limit 100
120
+ ```
121
+
122
+ Maximium HTTP request body size:
123
+
124
+ ```
125
+ select max(http.server.request.body.size.max) as max_body_size
126
+ from series
127
+ where Has(http.server.request.body.size.buckets)
128
+ and @Resource.service.name = 'shipping'
129
+ and @Scope.name = 'opentelemetry-instrumentation-actix-web'
130
+ and @Timestamp >= now() - 15m
131
+ group by time(1m)
132
+ limit 100
133
+ ```
134
+
135
+ ### `Exponential` Query Examples
136
+
137
+ Commit timing percentiles:
138
+
139
+ ```
140
+ select
141
+ phist(bucket.midpoint, bucket.count, 95) as p95,
142
+ phist(bucket.midpoint, bucket.count, 99) as p99
143
+ from series
144
+ lateral unnest(commit_duration.buckets) as bucket
145
+ where Has(commit_duration.buckets)
146
+ and @Timestamp >= now() - 15m
147
+ group by time(1m)
148
+ limit 100
149
+ ```
150
+
151
+ ## Gotchas
152
+
153
+ - If metrics that should be _counters_ show up as _gauges_, aggregation temporality is likely to be misconfigured: danger! This can produce wildly inaccurate results if not detected.
154
+ - When writing queries that aggregate metric samples, `where Has(<metric name>)` must always be included to avoid row count skew.
155
+ - Do NOT use `select disctint(<dimension>)` with metric dimensions: aways use the optimized dimension value searches exposed by `seqcli` or the MCP tools.
156
+ - Group keys are automatically included in result rowsets and **must not** be explicitly included in the `select` list.
157
+ - To order by group keys, apply an alias with `group by <expr> as <alias>` and use `order by <alias>`. Never add the group key to the `select` list, this will fail.
package/Superpower.dll ADDED
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file