Commit Graph

295 Commits

Author SHA1 Message Date
Ewout ter Hoeven f206ebd054 Pyupgrade 3.6: Update syntax with Python 3.6+ features (#23305)
Updated Python code with Python 3.6+ features:
- utf-8 encoding is now the default (PEP 3120)
- Replace list comprehensions by Generator Expressions (PEP 289)
- Replace yield loop by yield from (PEP 380)
- Remove the (object) subclass when defining a class
- Replace the IOError alias by OSError (PEP 3151)
- Define sets with curly braces {} instead of set()
- Remove "r" parameter from open function, which is default

Co-Authored-By: Adeeb Shihadeh <8762862+adeebshihadeh@users.noreply.github.com>
Co-Authored-By: GregorKikelj <96022003+GregorKikelj@users.noreply.github.com>

Co-authored-by: Adeeb Shihadeh <8762862+adeebshihadeh@users.noreply.github.com>
Co-authored-by: GregorKikelj <96022003+GregorKikelj@users.noreply.github.com>
old-commit-hash: 332f568a8241fba9459cb70c76840b9670e6993a
2021-12-24 11:18:39 -08:00
Ewout ter Hoeven a962365292 Convert format strings strings to f-strings (#23241)
* Convert all text strings to f-strings

Reformats all the text from the old "%-formatted" and .format(...) format to the newer f-string format, as defined in PEP 498. This requires Python 3.6+.

Flynt 0.69 was used to reformat the strings. 120 f-strings were created in 51 files.

F-strings are in general more readable, concise and performant. See also: https://www.python.org/dev/peps/pep-0498/#rationale

* revert pyextra changes

* revert ublox.py

Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: 55390d273f36f49da3896e687ac5530f40c1d150
2021-12-16 14:58:17 +01:00
Dean Lee 01eb405677 put logcat in bootlog (#23217)
* put logcat in boot log

* continue

* use std::unique_ptr

* Revert "use std::unique_ptr"

This reverts commit c671f8ca7160691791bade508c4a8eb5cdb73fb8.
old-commit-hash: f042962933837dbe612d4eb0f9bf5c0a0e0fb6f3
2021-12-14 11:54:54 -08:00
Dean Lee 3e72a81dac Use std::unique_ptr to manage memory (#23168)
* use unique_ptr

* trigger ci

* move down loggerdstate
old-commit-hash: 4aa291c406752169f4d836e952708eeccbb36c5d
2021-12-13 14:16:53 +01:00
Dean Lee a88eb06773 RawLogger: fix wrong pts (#23205)
old-commit-hash: cfad1f35e8a763a7ae15244966c925c751e684b9
2021-12-13 11:46:52 +01:00
Dean Lee dd7c226097 util: move all functions into util namespace (#23203)
old-commit-hash: 9decd3d8a20167de684322a458e28c8d1f746f83
2021-12-12 14:42:23 -08:00
Adeeb Shihadeh 916c2ed588 loggerd: fix delayed exit from main thread
old-commit-hash: 5f36b4819970e11d4ffc2757f1d6a990b00881f7
2021-12-07 18:22:00 -08:00
Willem Melching e7bf88f29f Remove Raw Upload toggle (#23143)
* Remove Raw Upload toggle

* fix tests
old-commit-hash: 2e0c73fc0cbac64e442085390dd22e6b408d0478
2021-12-07 11:25:40 +01:00
Adeeb Shihadeh 1ca1d7a673 increase loggerd per-cycle service limit to 200
old-commit-hash: f71a03f967a283991442eed69d1fa9857a54e463
2021-12-06 22:08:17 -08:00
Adeeb Shihadeh f8146db9b9 loggerd: don't let a single service clog up the main thread
old-commit-hash: baf1a77ca293add06ed0407425a6216cff163bae
2021-12-06 19:31:11 -08:00
Dean Lee 1473ec97da LogCameraInfo: remove unused variables (#23142)
old-commit-hash: ddc612e9f621f45e232af9e1a2329560bc4db418
2021-12-06 14:25:28 +01:00
Dean Lee 3ba7f99688 move struct LogCameraInfo into loggerd.h (#23129)
old-commit-hash: 480fb54926392b760944f5fafe7b4c96abee29ff
2021-12-04 21:08:55 -08:00
grekiki 9e4cc1f7ff Python: Replace more lists with generators (#23116)
* Replace lists with generators v2

* Replace set with {}

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>

* Replace more set() with {}

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 6951b3271d1770297cb6bd53878463035ec0bf43
2021-12-03 22:57:19 -08:00
Dean Lee 9b0fcaeb84 rename yuv streams (#23071)
* rename yuv streams

* bump cereal

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 348d2d2b0d169b0d181a51eb0e23b1f9b8fc6793
2021-11-29 18:14:59 -08:00
Willem Melching 28dd415759 Do not run code on version.py import (#23063)
* Do not run code on version.py import

* fix athena
old-commit-hash: f7c46c694985456e569ce2313b29e43607c62a12
2021-11-29 19:38:55 +01:00
Willem Melching 3b8daea061 Clear loggerd locks once on boot (#23060)
* add test for clear_locks

* move to bootlog

* simplify test
old-commit-hash: a2f32fd3e18455ca2750f4a0a940ced2ca933163
2021-11-29 12:30:28 +01:00
Dean Lee 7f0beef092 loggerd: add test case for trigger_rotate (#23038)
* test rotate

* remove global LoggerdState
old-commit-hash: 1d323e0fd6e6050180bdf1b0a9793a4f52c47e9a
2021-11-26 14:53:09 +01:00
Dean Lee c1ef2b7493 loggerd: add test case for sync_encoders (#23020)
old-commit-hash: b5eb02181c84285ecc89c4cfe0292ca866354985
2021-11-24 13:34:16 -08:00
Dean Lee 987f87cc0e loggerd: split loggerd.cc into three files
old-commit-hash: 75dd0d6296753dea9f6817955ef975f8d543fd19
2021-11-23 17:53:49 -08:00
Adeeb Shihadeh 44568de155 faster jenkins (#22973)
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: e13630dfee49dd4439d70d932ea89ba5af74c82f
2021-11-18 23:43:09 -08:00
Willem Melching 9399b6ae61 uploader: switch to upload_url v1.4 (#22966)
old-commit-hash: 23a1f478174ca443f760a5db910bc235c05bfffb
2021-11-18 16:23:50 +01:00
Willem Melching 425349a55c swaglog.py: respect LOGPRINT env variable (#22950)
* swaglog.py: respect LOGPRINT env variable

* only change handler that prints

* keep usefull manager prints

* only print running list

* revert process changes

* fix test
old-commit-hash: 77b334a698300d6f763bfcc0210c32b6f2ae6f63
2021-11-18 16:05:06 +01:00
Adeeb Shihadeh 35bfdce477 loggerd: trigger rotate on frame id instead of frame count (#22848)
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: ea761cbbd5103a589915ec3766b4d6056293cba6
2021-11-13 15:38:10 -08:00
Willem Melching 669ed5ff2b Put journal and nvme stats in bootlog (#22849)
* Run commands and put output in bootlog

* log nvme

* fix indent

* cereal without event

* use regular array
old-commit-hash: fa0cbe5d400aefaca17964100d2d16da33785d59
2021-11-10 16:07:22 +01:00
Dean Lee 48ed0e129e loggerd/RawLogger: fix memory leak in encode_frame (#22826)
old-commit-hash: 0bd9aed82c2dfbf2c3cfe5aba7cd6b980a5fc97e
2021-11-08 15:27:51 -08:00
Willem Melching 19deb98bc3 wshadow: fix comma three build
old-commit-hash: 45c506bb17e51d4f8592f74c75b9adcffa681201
2021-11-02 17:27:34 +01:00
Mayfield 43e1903073 enable wshadow (#22756)
* enable wshadow (#22714)

* fix replay

* more build fixes

Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: 5246f0231e6bfa572c0dd89c60e538910817faa2
2021-11-02 17:08:53 +01:00
Dean Lee a031b938b0 replay: improve segment download and merge (#22654)
* no-cache mode

* fix test cases build error

* space

* don't create cache dir in no-cache mode

* fix errors in test cases

* no_local_cache_

* set the number of connections by chunk_size

* use size_t instead of int64_t

* add test case for no-cache mode

* rename variables

* fix SIGSEGV

* cleanup

* faster decompressBZ2

* always decompress bz2

* add test cases

* prepare for python interface

* fix test cases build error

* continue

* camera_replay: cache remote file

* protected inheritance

* single option name

* TODO

* test_case for LogReader&FrameReader

* fix wrong require

* test case for FileReader

* cleanup test

* test:fix wrong filename

* check cached file's checksum

* fix mkdir permissions err

cleanup filereader

* remove initialize libav network libraries.

dd

* abort all loading if one failed

* cleanup tests

* use threadpool to limit concurrent downloads

* cache more segments

* merge 3 segments for replay

* one segment uses about 100M of memory

* use segments_need_merge.size()

* shutdown

* fix stuck if exit replay  before keyboard thread started

* load one segment at a time

* small cleanup

* cleanup filereader

* space

* tiny cleanup

* merge master

* cleanup test cases

* use util:create_directories

* cleanup framereader
old-commit-hash: 2b4a477fbc8fc02da5876aee4f955194916f19a3
2021-11-01 11:55:56 +01:00
Dean Lee ebffd5f3ad util: add safe write functions (#22160)
* add safe write functions

* log error

* bzfile safe_fopen&safe_flush

* update test_case

* trigger ci

Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: 652c42da2c6fa31168d5d299c959ab0c86799c4b
2021-10-29 13:23:31 +02:00
Dean Lee 0afe7d74bc util: add new function create_directories with unit tests (#21871)
* util::create_directories

* check bool ret

* don't assume mask

* rename with_umask to no_umask

* remove umask

* rebase master

* rebase master

* 0755
old-commit-hash: 1f39d8cee69cf28576cd9bd27ef52be57d44371e
2021-10-29 12:27:35 +02:00
Dean Lee c401d7aff3 loggerd: fix concurrency issues in sync encoders (#22590)
* sync_encoders

* add variable camera_synced

* cleanup
old-commit-hash: 18caf3535b2049a0809cb3b01fde19d196e34e32
2021-10-29 12:21:02 +02:00
Adeeb Shihadeh bb7751fdb0 don't set core affinity on PC (#22706)
old-commit-hash: 5b331fd6f5333e24a632839b64cdeb9129ef923b
2021-10-26 21:51:46 -07:00
Willem Melching 0f77dd4506 loggerd: set encodeIdx.valid if frame id is correct (#22634)
* loggerd: set encodeIdx.valid if frame id is correct

* check valid flag in test

* test cleanup

* bump cereal
old-commit-hash: 89f311714cf3606c386fd1de52b27e24780b8174
2021-10-26 16:00:43 +02:00
Adeeb Shihadeh b773f6711c loggerd: always run encoders (#22649)
* loggerd: always run encoders

* fix raw logger

* bump loggerd cpu usage
old-commit-hash: 76bd932cf555305a1e00d723bb5bb69d7fba39e9
2021-10-21 16:37:03 -07:00
Adeeb Shihadeh 25cfa2b65a tici: affine loggerd to efficiency cores (#22581)
old-commit-hash: 84de248fa7cbee37ecb2fd6a9d4df50ba60a1e04
2021-10-18 13:21:24 -07:00
Dean Lee 66ca3985c9 replay : move utility functions into separate file (#22414)
* move functions into util

* read bz2 into stream

* pre-decompress log in the download thread

* cleanup logreader

* cache sha256 path

* use readBZ2file in test_logger

* Revert "cache sha256 path"

This reverts commit 60459d3ea09a2c80f4560cf95b1ce7d6af59f06d.

* use macro

* use ostringstream

* cleanup readBZ2File

* move precise_nano_sleep into util
old-commit-hash: d28b98c60244e2bb9e32810e881ea445a912606c
2021-10-04 15:39:59 +02:00
Robbe Derks 0cf0485912 small typo
old-commit-hash: 3ccf712ac99ce8ef393d87ddd7241d1d823dd5a6
2021-09-24 10:23:41 +02:00
Adeeb Shihadeh c0356ffe9b add log docs
old-commit-hash: 0f8c6f130b5c9e023db136f64da1cbc1590a6994
2021-09-23 14:41:35 -07:00
ntegan1 d508125f35 Upload when on ethernet (#22188)
in addition to when on wifi

Co-authored-by: ntegan <nick@egan.gg>
old-commit-hash: 54b5972cf6f7220ba6af061c6dadc2dc80d813d0
2021-09-10 12:05:12 -07:00
Willem Melching 4844f8196d remove loggerd todo about encodeIdx decimation
old-commit-hash: 377fe84948c069c3f00824c06e0ae40f2aa2616e
2021-09-08 12:16:16 -07:00
Dean Lee 33b378419a loggerd: remove obsolete ethernetsniffer.py (#22139)
old-commit-hash: 8bca70878fbfeaa18ba7b0bcc17b1ba1baad1eb2
2021-09-06 12:11:19 -07:00
Dean Lee 2dac83c02b loggerd: remove obsolete testraw.cc (#22138)
old-commit-hash: 5a8ca8b449fb3418d31ca325fb38d393413d83b8
2021-09-06 12:10:12 -07:00
Willem Melching e49dd50f98 Disable encoder sync logic if only one rotate camera present (#22107)
* disable sync logic if only one rotate camera

* consistent brackets
old-commit-hash: 48035e9535ba362e382d01282a1475b4ace2778a
2021-09-01 23:08:06 -07:00
Willem Melching 60e7e09127 Ensure that first segment starts with all cameras on the same frameId (#22096)
* test that segment starts with the same frame id

* improve test

* add sync logic

* atomic max

* review comments
old-commit-hash: a93271a518b466cd83699acd8598a0361ee9a02b
2021-09-01 14:28:50 -07:00
Dean Lee 4c17c06799 Handle EINTR for all syscalls that can return it (#21948)
old-commit-hash: f02c8d0e2c04e45ceeea9f2fe9851319d724a637
2021-08-31 16:22:56 -07:00
Dean Lee ecf3ee7603 loggerd: create encoder threads from cameras_logged (#21875)
old-commit-hash: d9baaf7eb90f0815c4d635d33244975ad71876d2
2021-08-30 19:33:00 -07:00
Dean Lee 0fac38e34f LoggerState: test cases (#21855)
* test multiple threads writing to log

* fix typo

* use util::getenv

* check INIT_DATA and SENTINEL

* test END_OF_SEGMENT

* add comment

* test multiple threads logging and rotation

* cleanup

* update

* LoggerHandle:quick fix

* cleanup

* revert test_loggerd.py

* refactor test case

* check lock file

* check refcnt after close

* test_runner.cc

d

* int eixt_signal
old-commit-hash: 935cbd3139993eac84f7936dfdb191deb86114f1
2021-08-30 17:12:09 -07:00
Willem Melching 6f92abc815 Less open file permissions (#21922)
* Less open file permissions

* add test back

* remove params test for permissions

* remove umask

* bump cereal

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: dddab597bcee0a103895509b7909743f97cbdf83
2021-08-28 18:25:05 -07:00
Adeeb Shihadeh 277bd43b15 Revert "tici: give loggerd rt priority (#21503)"
This reverts commit 0a50cf851e79342cf3db01033bc91516c504cbea.

old-commit-hash: 54a4eeb0fccd92c3b2f872175cfedf136a1cfc71
2021-08-22 16:57:53 -07:00
Adeeb Shihadeh 5c1d1ebe76 tici: give loggerd rt priority (#21503)
* give loggerd rt priority

* assert

* little more

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 7e2752c878a9e8c38639e4caa234bcabb979db2e
2021-08-20 21:27:31 -07:00