{"id":19053315,"url":"https://github.com/sbmueller/log-analyzer","last_synced_at":"2026-06-20T19:31:33.506Z","repository":{"id":83263269,"uuid":"520220627","full_name":"sbmueller/log-analyzer","owner":"sbmueller","description":"Interview coding task performed May 2022","archived":false,"fork":false,"pushed_at":"2022-08-01T18:27:28.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-11T19:07:38.307Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sbmueller.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-01T18:27:11.000Z","updated_at":"2022-08-01T18:27:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"9145a668-1c6e-4f91-8e23-8a935c82683e","html_url":"https://github.com/sbmueller/log-analyzer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sbmueller/log-analyzer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbmueller%2Flog-analyzer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbmueller%2Flog-analyzer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbmueller%2Flog-analyzer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbmueller%2Flog-analyzer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sbmueller","download_url":"https://codeload.github.com/sbmueller/log-analyzer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbmueller%2Flog-analyzer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34583589,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T23:30:05.523Z","updated_at":"2026-06-20T19:31:33.489Z","avatar_url":"https://github.com/sbmueller.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Log Analyzer\n\nCoding task performed May 2022 in context of an interview process.\n\nCopyright (C) 2022 Sebastian Müller\n\n## Task\n\n### Log Files\n\nThe task was to implement a CLI tool that is able to parse log files.\n\nLog files are defined as text files that contain an arbitrary number of lines\nconsisting of JSON objects. It is guaranteed that each JSON object has a `type`\nkey providing a String identifier. There might be additional arbitrary\nkey-value pairs in each JSON object.\n\nExample log file:\n\n```json\n{\"type\": \"Foo\", \"id\": 3, \"cluster\": -3}\n{\"type\": \"Bar\", \"error\": 1}\n{\"type\": \"Foo\", \"name\": \"titan\", \"calibration\": 3.141}\n```\n\n### Output\n\nThe CLI in scope of this task should be able to output a table, providing\ninformation on the different `type`s in the log file and the accumulated size\nin bytes of each such `type`. In the example above, the output should look\nsimilar to this:\n\n```text\nType | Size\n-----------\nFoo  | 93\nBar  | 27\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbmueller%2Flog-analyzer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsbmueller%2Flog-analyzer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbmueller%2Flog-analyzer/lists"}