Code Monkey home page Code Monkey logo

dlt-logs's People

Contributors

dependabot[bot] avatar jenalt avatar mbehr1 avatar semantic-release-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

dlt-logs's Issues

add support for binlog .blf files

Add support at least partial for Vectors "binlog" .blf files for:

  • can / canfd frames
  • (possibly others like realtime, triggers, embedded logs, ethernet frames)

Toggling sort order "generates" a new LC

On v1.56.1, toggling the sort order will re-run the Lifecycle detection analysis and append them to the list (instead of replacing the previously detected)

See screenshot:
image

In the picture above, the button "toggle sort order" was pressed 6 times

remove hexdump for non-verbose files that are ascii only

Seems like some ECU projects use non-verbose but mainly print ascii text only. Sometimes even the non-verbose message id gets misused e.g. as a consecutive message counter.

If ascii only non-verbose payload is detected skip the hexdump output after the | symbol.

TypeError: Cannot read property 'includes' of undefined

Opening a report with some number based datasets and then adding a category or event based dataset sometimes runs into following error:
[Extension Host] report.onDidReceiveMessage e=update got err:TypeError: Cannot read property 'includes' of undefined {message: "update got err:TypeError: Cannot read property 'includes' of undefined"}

Version 1.9.1

Full log:

log.ts:197   ERR [File Watcher (node.js)] Error: ENOENT: no such file or directory, stat 'e:\TEMP\vscode-dlt-logs-example\.vscode'
console.ts:137 [Extension Host] mbehr1.dlt-logs is now active!
console.ts:137 [Extension Host] dlt-logs.DltDocumentProvider()...
console.ts:137 [Extension Host] open dlt got URI=file:///e%3A/TEMP/vscode-dlt-logs-example/example.dlt
console.ts:137 [Extension Host] dlt-logs.readFile(uri=dlt-log:/e%3A/TEMP/vscode-dlt-logs-example/example.dlt)...
console.ts:137 [Extension Host] DltDocument.parseFilterConfigs: have 7 filters to parse. Currently have 0 filters...
console.ts:137 [Extension Host]  DltDocument.parseFilterConfigs adding filter: name='CPU stats @APID:MON CTID:CPUS payload matches '^CPU usage in interval : (?<cpu_usage>.*)% iowait: (?<io_wait>.*)% cpu since boot : (?<cpu_since_boot>.*)% Total thread cpu load : (?<thread_cpu_load>.*)%'' type=3, enabled=true, atLoadTime=false
console.ts:137 [Extension Host]  DltDocument.parseFilterConfigs adding filter: name='Fan speed current (RPM) @APID:IOC CTID:  FD payload matches 'F[aA][nN] Speed: (?<fan_speed>[0-9]+)'' type=3, enabled=true, atLoadTime=false
console.ts:137 [Extension Host]  DltDocument.parseFilterConfigs adding filter: name='Fan speed target (RPM) @APID:IOC CTID:  FD payload matches '.*'' type=3, enabled=true, atLoadTime=false
console.ts:137 [Extension Host]  DltDocument.parseFilterConfigs adding filter: name='Fan mode @APID:IOC CTID:  FD payload matches '^FAN (?<STATE_FanMode>[^TS]\w+)'' type=3, enabled=true, atLoadTime=false
console.ts:137 [Extension Host]  DltDocument.parseFilterConfigs adding filter: name='UFS/INT Temperature @APID:IOC CTID: SMC payload matches '^UFS_T\[C\]:(?<ufs_t>[0-9]+) INT_AMB_T\[C\]:(?<int_t>[0-9]+)'' type=3, enabled=true, atLoadTime=false
console.ts:137 [Extension Host]  DltDocument.parseFilterConfigs adding filter: name='SOC Temperature @APID:IOC CTID: SMC payload matches '^SOC_T\[C\]:(?<soc_t>[0-9]+)'' type=3, enabled=true, atLoadTime=false
console.ts:137 [Extension Host]  DltDocument.parseFilterConfigs adding filter: name='Fan speed test started @APID:MON CTID:THRD payload matches '(?<EVENT_test>sts-ioc-fan)'' type=3, enabled=true, atLoadTime=false
console.ts:137 [Extension Host] parseDecorationsConfigs: have 4 decorations to parse...
console.ts:137 [Extension Host]  adding decoration id=error
console.ts:137 [Extension Host]  adding decoration id=warning
console.ts:137 [Extension Host]  adding decoration id=fatal
console.ts:137 [Extension Host]  adding decoration id=lifecycleOdd
console.ts:137 [Extension Host] dlt-logs.parseDecorationsConfig got 4 decorations!
console.ts:137 [Extension Host] parsePluginConfigs: have 1 plugins to parse...
console.ts:137 [Extension Host] DltFilter.constructor created id=f0b2b381-e598-4e64-a056-b68a38086914
console.ts:137 [Extension Host] parseConfigs: have 0 configs to parse...
console.ts:137 [Extension Host] DltDocument.text() returning text with len 116
console.ts:137 [Extension Host] dlt-logs.stat(uri=dlt-log:/e%3A/TEMP/vscode-dlt-logs-example/example.dlt)... isDirectory=false}
console.ts:137 [Extension Host] DltDocumentProvider onDidOpenTextDocument uri=dlt-log:/e%3A/TEMP/vscode-dlt-logs-example/example.dlt
console.ts:137 [Extension Host]  dlt.logs.onDidOpenTextDocument: found document with uri=dlt-log:/e%3A/TEMP/vscode-dlt-logs-example/example.dlt newlyOpened=true
console.ts:137 [Extension Host] dlt-logs.stat(uri=dlt-log:/e%3A/TEMP/vscode-dlt-logs-example/example.dlt)... isDirectory=false}
console.ts:137 [Extension Host] DltDocumentProvider.onDidChangeActiveTextEditor dlt-log:/e%3A/TEMP/vscode-dlt-logs-example/example.dlt column=1
console.ts:137 [Extension Host] dlt-logs.watch(uri=dlt-log:/e%3A/TEMP/vscode-dlt-logs-example/example.dlt...
console.ts:137 [Extension Host] dlt-log:extension vscode.git throws: TypeError: importedApi.onDidChangeSelectedTime is not a function
console.ts:137 [Extension Host] dlt-log:extension vscode.typescript-language-features throws: TypeError: importedApi.onDidChangeSelectedTime is not a function
console.ts:137 [Extension Host] dlt-log:extension eamodio.gitlens throws: TypeError: importedApi.onDidChangeSelectedTime is not a function
console.ts:137 [Extension Host] dlt-log.got onDidChangeSelectedTime api from mbehr1.dlt-logs
console.ts:137 [Extension Host] dlt-log.checkActiveExtensions: got 1 subscriptions.
console.ts:137 [Extension Host]  have 0 pos. and 1 neg. filters at load time.
console.ts:137 [Extension Host] checkFileChanges read took: 0s 138ms
console.ts:137 [Extension Host] updateLifecycles: added IOC from 0:Thu Jan 14 2021 14:18:58 GMT+0100 (Mitteleuropäische Normalzeit)
console.ts:137 [Extension Host] DltLifecycleInfo() startTime=1610630338366.415 lifecycleStart=1610630338366.415
console.ts:137 [Extension Host] updateLifecycles: added MGUL from 5:Thu Jan 14 2021 14:18:58 GMT+0100 (Mitteleuropäische Normalzeit)
console.ts:137 [Extension Host] DltLifecycleInfo() startTime=1610630338376.415 lifecycleStart=1610630338376.415
console.ts:137 [Extension Host] DltLifecycleInfo:update new lifecycleStart from Thu Jan 14 2021 14:18:58 GMT+0100 (Mitteleuropäische Normalzeit) to 1610630251721.531 due to 10
console.ts:137 [Extension Host] parseMessage swVersions='BMW MGU22 MGU22_20w38.3-1-21-dirty-21e0e2 mgu22 mgu22-MGU22_20w38.3-1-21-dirty-21e0e2 BMW MGU22-mgu22-MGU22_20w38.3-1-21-dirty-21e0e2'
console.ts:137 [Extension Host] DltLifecycleInfo:update new lifecycleStart from Thu Jan 14 2021 14:18:58 GMT+0100 (Mitteleuropäische Normalzeit) to 1610630248496.225 due to 13
console.ts:137 [Extension Host] overwriting apidInfo IOC  with DLT adapter to read IOC DLT logs|OSIS|ioc-dlt-adapter
console.ts:137 [Extension Host] autoEnableConfigs with 2 ECUs: IOC,MGUL
console.ts:137 [Extension Host] autoEnableConfigs enabled 0 configs.
console.ts:137 [Extension Host] checkFileChanges lcUpdate took: 0s 28ms
console.ts:137 [Extension Host]  applyFilter decorating lifecycle MGUL #0 '5 - 26303'
console.ts:137 [Extension Host] applyFilter got 526 decorations.
console.ts:137 [Extension Host] DltDocument.renderLines(0) with 26313/26313 msgs ...
console.ts:137 [Extension Host]  processing msg 0-26313...
console.ts:137 [Extension Host] dlt-logs.stat(uri=dlt-log:/e%3A/TEMP/vscode-dlt-logs-example/example.dlt)... isDirectory=false}
console.ts:137 [Extension Host] dlt-logs.readFile(uri=dlt-log:/e%3A/TEMP/vscode-dlt-logs-example/example.dlt)...
console.ts:137 [Extension Host] DltDocument.text() returning text with len 25
console.ts:137 [Extension Host]  notifyVisibleRange ignoring as range too small (visible: [0-0]) current: [0-400000)
console.ts:137 [Extension Host] DltDocument.renderLines() took: 0s 361ms
console.ts:137 [Extension Host] checkFileChanges applyFilter took: 0s 450ms
console.ts:137 [Extension Host] dlt-logs.stat(uri=dlt-log:/e%3A/TEMP/vscode-dlt-logs-example/example.dlt)... isDirectory=false}
console.ts:137 [Extension Host] dlt-logs.readFile(uri=dlt-log:/e%3A/TEMP/vscode-dlt-logs-example/example.dlt)...
console.ts:137 [Extension Host] DltDocument.text() returning text with len 2739887
console.ts:137 [Extension Host] checkFileChanges took: 0s 785ms
console.ts:137 [Extension Host] DltDocumentProvider.getRestQueryDocById.onDidLoad called...
t.log @ console.ts:112
console.ts:137 [Extension Host] openReport(Fan speed current (RPM) @APID:IOC CTID:  FD payload matches 'F[aA][nN] Speed: (?<fan_speed>[0-9]+)') called for doc=dlt-log:/e%3A/TEMP/vscode-dlt-logs-example/example.dlt
console.ts:137 [Extension Host] onOpenReport called...
console.ts:137 [Extension Host] updateReport lcStartDate=Thu Jan 14 2021 14:17:28 GMT+0100 (Mitteleuropäische Normalzeit), lcEndDate=Thu Jan 14 2021 14:23:59 GMT+0100 (Mitteleuropäische Normalzeit)
console.ts:137 [Extension Host]  matching 1 filter on 26313 msgs:
console.ts:137 [Extension Host]  have 1 data sets:
console.ts:137 [Extension Host]   fan_speed with 3050 entries and undefined yLabels
console.ts:137 [Extension Host] checking lifecycle 1
console.ts:137 [Extension Host] checking lifecycle 2
console.ts:137 [Extension Host] DltReport panel onDidChangeViewState(true) called.
console.ts:137 [Extension Host] report.onDidReceiveMessage e=hello from timeSeriesReport.html Object
console.ts:137 [Extension Host] webview.postMessage(update labels) queued true
console.ts:137 [Extension Host] webview.postMessage(update) queued true
console.ts:137 [Extension Host] report.onDidReceiveMessage e=update labels #4 Object
console.ts:137 [Extension Host] report.onDidReceiveMessage e=updated report data 1 Object
console.ts:137 [Extension Host] openReport(Fan speed target (RPM) @APID:IOC CTID:  FD payload matches '.*') called for doc=dlt-log:/e%3A/TEMP/vscode-dlt-logs-example/example.dlt
console.ts:137 [Extension Host] onOpenReport called...
console.ts:137 [Extension Host] updateReport lcStartDate=Thu Jan 14 2021 14:17:28 GMT+0100 (Mitteleuropäische Normalzeit), lcEndDate=Thu Jan 14 2021 14:23:59 GMT+0100 (Mitteleuropäische Normalzeit)
console.ts:137 [Extension Host]  matching 2 filter on 26313 msgs:
console.ts:137 [Extension Host]  using conversionFunction = 'function anonymous(matches,params) {let capStr = matches[0]; const speed = capStr.match(/FAN Target Speed: ([0-9]+) rpm/); if (speed){ params.reportObj["fan_speed_target"] = speed[1]; } return { 'fan_speed_target': params.reportObj["fan_speed_target"] };}'
t.log @ console.ts:112
console.ts:137 [Extension Host]  have 2 data sets:
console.ts:137 [Extension Host]   fan_speed with 3050 entries and undefined yLabels
console.ts:137 [Extension Host]   fan_speed_target with 3124 entries and undefined yLabels
console.ts:137 [Extension Host]  got yAxes..* : {  "position": "left",  "display": "auto"}
console.ts:137 [Extension Host]   set yAxis for 'fan_speed' from regex '.*'
console.ts:137 [Extension Host]   set yAxis for 'fan_speed_target' from regex '.*'
console.ts:137 [Extension Host] checking lifecycle 1
console.ts:137 [Extension Host] checking lifecycle 2
console.ts:137 [Extension Host] checking lifecycle 1
console.ts:137 [Extension Host] checking lifecycle 2
console.ts:137 [Extension Host] webview.postMessage(update labels) direct true
console.ts:137 [Extension Host] webview.postMessage(update) direct true
console.ts:137 [Extension Host] report.onDidReceiveMessage e=update labels #4 Object
console.ts:137 [Extension Host] report.onDidReceiveMessage e=updated report data 2 Object
console.ts:137 [Extension Host] openReport(Fan mode @APID:IOC CTID:  FD payload matches '^FAN (?<STATE_FanMode>[^TS]\w+)') called for doc=dlt-log:/e%3A/TEMP/vscode-dlt-logs-example/example.dlt
console.ts:137 [Extension Host] onOpenReport called...
console.ts:137 [Extension Host] updateReport lcStartDate=Thu Jan 14 2021 14:17:28 GMT+0100 (Mitteleuropäische Normalzeit), lcEndDate=Thu Jan 14 2021 14:23:59 GMT+0100 (Mitteleuropäische Normalzeit)
console.ts:137 [Extension Host]  matching 3 filter on 26313 msgs:
console.ts:137 [Extension Host]  using conversionFunction = 'function anonymous(matches,params) {let capStr = matches[0]; const speed = capStr.match(/FAN Target Speed: ([0-9]+) rpm/); if (speed){ params.reportObj["fan_speed_target"] = speed[1]; } return { 'fan_speed_target': params.reportObj["fan_speed_target"] };}'
t.log @ console.ts:112
console.ts:137 [Extension Host]  have 3 data sets:
console.ts:137 [Extension Host]   fan_speed with 3050 entries and undefined yLabels
console.ts:137 [Extension Host]   fan_speed_target with 3124 entries and undefined yLabels
console.ts:137 [Extension Host]   STATE_FanMode with 123 entries and 5 yLabels
console.ts:137 [Extension Host]  got yAxes..* : {  "position": "left",  "display": "auto"}
console.ts:137 [Extension Host]   set yAxis for 'fan_speed' from regex '.*'
console.ts:137 [Extension Host]   set yAxis for 'fan_speed_target' from regex '.*'
console.ts:137 [Extension Host]   set yAxis for 'STATE_FanMode' from regex '.*'
console.ts:137 [Extension Host] checking lifecycle 1
console.ts:137 [Extension Host] checking lifecycle 2
console.ts:137 [Extension Host] checking lifecycle 1
console.ts:137 [Extension Host] checking lifecycle 2
console.ts:137 [Extension Host] checking lifecycle 1
console.ts:137 [Extension Host] got lastState = undefined
console.ts:137 [Extension Host] checking lifecycle 2
console.ts:137 [Extension Host] got lastState = IDLE
console.ts:137 [Extension Host] webview.postMessage(update labels) direct true
console.ts:137 [Extension Host] webview.postMessage(update) direct true
console.ts:137 [Extension Host] report.onDidReceiveMessage e=update labels #4 Object
console.ts:137 [Extension Host] report.onDidReceiveMessage e=update config.data.yLabels=undefined with ,ACCELERATING,DECELERATING,RUNNING,IDLE Object
console.ts:137 [Extension Host] report.onDidReceiveMessage e=update got err:TypeError: Cannot read property 'includes' of undefined Object
console.ts:137 [Extension Host] dlt-logs.stat(uri=dlt-log:/e%3A/TEMP/vscode-dlt-logs-example/example.dlt)... isDirectory=false}

Support for online logs

Is there a workaround to use the extension with a living log file? not dlt-daemon client wich seems a more little work...

Adding a filter to a code-workspace triggers continous changes to settings.json

If you add a filter to the currently loaded code-workspace, the extension seems to regenerate new filter ids in settings.json forever. VS code UI will show this as a flickering icon for unsaved changes.

example.code-workspace

{
	"folders": [
		{
			"path": "."
		}
	],
	"settings": {
		"dlt-logs.filters":[
			{
				"name": "F1",
				"type": 3,
				"apid": "TEST",
				"ctid": "ME",
				"payloadRegex": "^Hello (?<STATE_world>.*)"
			},
		]
	}
}

Once you take that filter out, it will stop. I think dlt-log extension v1.1.x was working without this issue.

I'm running on Windows with VS code v1.52.1 and dlt-log extension v1.8.0

import (/export) filters from/to DLTViewer

Support import (and with 2nd prio export?) of the DLTViewer filter export files.
Export is not so easy as we do offer more features than the DLTViewer for filters (e.g. lifecycles, timeSync, configs,...).
Needs #9 otherwise import of existing filters with payload/payloadregex doesn't make much sense.

support SomeIP decoding

feature request: support decoding of SomeIP similar to DLT-Viewers plugin.
Think about how the necessary fibex files can be auto-detected (e.g. mapping of ECU/SW version to fibex files in a spec. directory/file structure or even requesting them from a web server,...).

Nice to have:
If one dlt log contains multiple different SW versions use per lifecycle the proper one.

command "add filter..." is a no-op.

If "add filter..." is called via e.g. Ctrl/CMD-P then nothing happens.

Background:
"add filter..." is currently only internally used for the command "add filter..." from the hover text.

Proposal:

  • for the current document: (if any dlt doc is active/visible)
  • open the add filter assistant.

Btw:
same for edit filter, delete filter... (those are all internal commands)

I treat it a "feature/enhancement" not a bug as it was never working (and not intended like that initially).

Visualize single events in graph

It would be nice if you could visualize single events in the graph, similar to the green Lifecycle vertical lines but with custom string matches.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.