{"id":26032610,"url":"https://github.com/apache/iotdb-tsfile-viewer","last_synced_at":"2025-04-10T00:23:06.022Z","repository":{"id":65979475,"uuid":"565313329","full_name":"apache/iotdb-tsfile-viewer","owner":"apache","description":"Apache IoTDB TsFile Viewer","archived":false,"fork":false,"pushed_at":"2024-05-29T02:17:41.000Z","size":1843,"stargazers_count":19,"open_issues_count":4,"forks_count":6,"subscribers_count":20,"default_branch":"main","last_synced_at":"2025-04-03T04:16:59.621Z","etag":null,"topics":["java","timeseries","tsfile"],"latest_commit_sha":null,"homepage":"https://iotdb.apache.org/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2022-11-13T01:39:31.000Z","updated_at":"2024-10-17T11:34:24.000Z","dependencies_parsed_at":"2024-02-02T18:11:28.469Z","dependency_job_id":null,"html_url":"https://github.com/apache/iotdb-tsfile-viewer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fiotdb-tsfile-viewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fiotdb-tsfile-viewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fiotdb-tsfile-viewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fiotdb-tsfile-viewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/iotdb-tsfile-viewer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247899521,"owners_count":21014912,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["java","timeseries","tsfile"],"created_at":"2025-03-06T22:17:32.267Z","updated_at":"2025-04-10T00:23:05.985Z","avatar_url":"https://github.com/apache.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\n\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See the NOTICE file\n    distributed with this work for additional information\n    regarding copyright ownership.  The ASF licenses this file\n    to you under the Apache License, Version 2.0 (the\n    \"License\"); you may not use this file except in compliance\n    with the License.  You may obtain a copy of the License at\n\n        http://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing,\n    software distributed under the License is distributed on an\n    \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n    KIND, either express or implied.  See the License for the\n    specific language governing permissions and limitations\n    under the License.\n\n--\u003e\n\n# iotdb-tsfile-viewer\n\u003c!--\n[![Main Mac and Linux](https://github.com/apache/iotdb/actions/workflows/main-unix.yml/badge.svg)](https://github.com/apache/iotdb/actions/workflows/main-unix.yml)\n[![Main Win](https://github.com/apache/iotdb/actions/workflows/main-win.yml/badge.svg)](https://github.com/apache/iotdb/actions/workflows/main-win.yml)\n--\u003e\n# Outline\n- [Introduction](#Introduction)\n- [Quick Start](#quick-start)\n    - [Prerequisites](#Prerequisites)\n    - [Compile](#Compile)\n- [User Guide](#user-guide)\n- [Build Docker Image](#build-docker-image)\n- [Maintainers](#Maintainers)\n- [Contributing](#Contributing)\n- [Contributors](#Contributors)\n- [FAQ Summary](#faq-summary)\n# Introduction\ntsfile-viewer is a tool to view TSFILE. Currently, we support bit granularity parsing of TsFile and provide visual display.  \nwe have three modules in the project\n- tsfile-viewer-core: core jar package project\n- tsfile-viewer-web: web viewer backend,When you execute the mvn install command in the parent project, it will package the front-end project code together\n- tsfile-viewer-web-frontend: web viewer frontend\n\n1. overview: This tool can Clearly display information of each part of TsFile, details are as follows:\n    1. The versionNumber.\n    2. The data layer: contains details of each level and statistic information.\n\n       i. ChunkGroup\n\n       ii. Chunk\n\n       iii. Page\n\n       iv. Point\n    3. The index layer: displayed in a tree like structure then you can easily view the overall structure of the secondary\n       index(entity and measurement granularity).\n\n2. Timeseries and measurement search: In addition to displaying data, we also provide the function of querying TimeSeries by keyword. There is a linkage\n   between the index layer and the data layer, it can quickly locate the desired TimeSeries with details.\n\n\u003c!-- 3. The encoding and compression type of a timeseries analysis: tsfile-mt provide the analysis of the current timeseries encoding and compression. In addition, tsfile-mt also provide the analysis\n   of the combination of various encoding and compression types of the timeseries. --\u003e\n\n# Quick Start\n## Prerequisites\nTo use the tool, you need to have:\n1. Java \u003e= 1.8 \n2. Maven \u003e= 3.6  \n\nOf course, you will also notice that there is a front-end project in the project. When you execute the mvn install command, the project will download its corresponding environment, and you don't have to configure the environment separately for it.\n## Compile\nYou can download the source code from:\n```\ngit@github.com:apache/iotdb-tsfile-viewer.git\nhttps://github.com/apache/iotdb-tsfile-viewer.git\n```\nUnder the root path of iotdb-tsfile-viewer:\n```\nmvn clean install\n```\nthen you can start this tool in the tsfile-viewer-web project \nyou can add '-Dfile.endoding=utf8' command to avoid some Chinese garbled problems,mainly to solve the situation that some device names in the tsfile file contain Chinese\n```\njava -jar iotdb-tsfile-viewer-web-0.13.2-SNAPSHOT.jar\njava -Dfile.endoding=utf8 -jar iotdb-tsfile-viewer-web-0.13.2-SNAPSHOT.jar\n```\n\nyou can also specify a configuration file through the '--spring.config.location=./data/application.yml' command  \n```\njava -jar iotdb-tsfile-viewer-web-0.13.2-SNAPSHOT.jar --spring.config.location=./data/application.yml\n```\nThe default url is\n```\nhttp://localhost:8080/\n```\nYou can modify the port through the file\n```\niotdb-tsfile-viewer\\tsfile-viewer-web-frontend\\config\\config.js\ntsfile-viewer-web\\src\\main\\resources\\application.yml\n```\nYou can specify the parent folder location for tsfiles\n```\ntsfile-viewer-web\\src\\main\\resources\\application.yml\n\ntsviewer:\n  web:\n     baseDirectory: C:\\Users\\Administrator\\Desktop\\\n```\nThe system can load up to 5 tsfile files by default, you can modify this value through application.yml  \n```\ntsfile-viewer-web\\src\\main\\resources\\application.yml\n\ntsviewer:\n  web:\n     containerSize: 5\n```\n\n# User Guide\n\nWhen you visit http://locallhost:8080, you will get the following page.  \n![image](/imgs/entry.png)  \n- 1 you can get some tips when your mouse over this icon\n- 2 multilingual switching\n- 3 file management,when you click this button, you will get the following page.  \n\n![image](/imgs/file-management.png)\n- 1 click to change the directory\n- 2 the status of the files\n- 3 get the loaded files\n- 4 the operation, open a tsfile, when the file loaded success, you will get the following page.  \n\n![image](/imgs/overview-tsfile.png)\n- 1 ChunkGroups\n- 2 TimeseriesIndexs\n- 3 IndexOfTimeseriesIndexs  \n\nThe white blocks are clickable, when you click on them, their corresponding simple information will be displayed on the right.  \nYou can get more infos by click the 'more info' block.  \n\n![image](/imgs/chunkgroup.png)  \n\n- 1 the ChunkGroups,the name is the device name\n- 2 the brief info of a ChunkGroup\n- 3 click here to get the Chunks info of a ChunkGroup\n![image](/imgs/chunkinfo.png)  \n\nClick the page node to get pageData.  \n\n![image](/imgs/pagedata.png)\n\nThe TimeseriesIndexs is used similarly to ChunkGroups  \n\n![image](/imgs/timeseriesindex.png)\n\nDisplay the index structure in the form of a tree  \n\n![image](/imgs/indexoftimeseriesindex.png)\n\n![image](/imgs/indexoftimeseriesindex-chunk.png)\n\nData Search function:  \n![image](/imgs/datasearch.png) \n\n# Build Docker Image\nThere is a dockerfile in tsfile-viewer-web, through which you can easily build a docker image.  \nAfter you have successfully executed the 'mvn clean install' command,enter the tsfile-viewer-web project and execute the following command  \n```\ndocker build -t iotdb-tsfile-viewer:0.13.2-SNAPSHOT .\ndocker run --volume=D:\\tsfile:/tsfile -p 8080:8080 -d iotdb-tsfile-viewer:0.13.2-SNAPSHOT\n```\n\ndocker.yml is the corresponding configuration file in docker image.\nIf you want to modify the folder path of tsfile, you need to modify docker.yml, dockerfile and the --volume parameter of the dock run command.\n\n# Maintainers\n\n# Contributing\nFeel free to dive in! Open an issue or submit PRs.\n# Contributors\nThis project exists thanks to all the people who contribute.\n\n# FAQ Summary\n- 1 After the project is cloned, use mvn clean install to report a spotless exception; usually found on windows, the reason is that when git clones the project on windows, LF will be converted to CRLF, in this case, execute the mvn spotless:apply command to solve the problem\n- 2 Some front-end components cannot be downloaded, enter the tsfile-viewer-web-frontend project, enter the node folder, and execute the command \".\\yarn\\dist\\bin\\yarn set registry http://registry.npm.taobao.org/\" switch to Taobao mirror\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fiotdb-tsfile-viewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fiotdb-tsfile-viewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fiotdb-tsfile-viewer/lists"}