Giter Club home page Giter Club logo

tableau-log-viewer's Introduction

Tableau Log Viewer

Community Supported

Master branch Travis-CI AppVeyor
Dev branch Travis-CI AppVeyor

Tableau Log Viewer is a cross-platform tool with a simple interface that has a single purpose of making it easy to quickly glance over Tableau log files.

TLV Screenshot

Overview

  • Tableau log file representation in easy to read columnar format
  • Live capture from Tableau's log files
  • Advanced event search, filtering and highlighting
  • Query syntax highlighting
  • Compatible with Windows, Mac and, most likely, Linux

How do I use Tableau Log Viewer?

You can get the latest release in the Releases Section. Download the ZIP file of the latest release for your operating system (Windows and Mac OS available) and extract the ZIP file. Finally, launch the application (tlv.exe for Windows and tlv.app for Mac).

To view logs, drag'n'drop a Tableau log file into the application. Both Tableau Desktop and [most] Tableau Server log files are supported. Take a look at our wiki to get more details on the features and usage of TLV.

Using Pre-Built Tableau Log Viewer on M1 Mac If you are trying to open a downloaded pre-built version of Tableau Log Viewer on an M1 Mac, this may fail as the application is not code-signed. You can code-sign the application yourself using sudo codesign --force --deep -s - /path/to/tlv.app and then launch it for the first time via CTRL + <right-click Open>.

How do I build Tableau Log Viewer?

See INSTALL.md

Is Tableau Log Viewer supported?

Tableau Log Viewer is supported by the community. This is intended to be a self service tool and includes a user guide. Any requests or issues discovered should be filed in the Issue Tracker.

How can I contribute to Tableau Log Viewer?

Code contributions & improvements by the community are welcomed & encouraged! See the LICENSE file for current open-source licensing and use information. Also, if you are new to GitHub - read this handy guide on how to get started!

A Word About Licenses

Tableau Log Viewer is released under MIT license however it relies on several other components:

  • Qt. We are using Qt's components that are licensed under LGPLv3 license. Qt source code is located here and instructions for obtaining it are located here. We will be keeping these links up to date and making sure they provide clear directions for obtaining Qt's source code in case you need it.
  • Query Graphs. This is our side project that is used for query tree visualization. It is released under the MIT license and uses the d3js library, released under the BSD license.
  • Solarized theme. This a collection of colors and guidelines for UI applications designed by Ethan Schoonover. The "Solarized Light" and "Solarized Dark" themes in TLV are using these color schemes. It is released under the MIT license.

tableau-log-viewer's People

Contributors

alv53 avatar benlower avatar celine0 avatar flode avatar hangrymuppet avatar jhendrich avatar lqtiffany avatar luiseeo avatar mosenberg avatar rcook avatar rickcole avatar sdesmond46 avatar terencesoh avatar thealmightybob avatar vogelsgesang avatar whenamanlies avatar

Stargazers

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

Watchers

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

tableau-log-viewer's Issues

Remove ART from Value section

Can we remove the ART data from the Value section? It's so much harder to read the logs with that extra material in the way.

Default Preferences

The highlight filter and opened files should remain the same for the next session. This is how other log viewers work and they save a lot of time. Thanks for the software!

Feature request add support for the "a" key recently added in the logs

There a new top level key in Tableau logs, which is "a", I think it stands for "activity". TLV is currently unable to display this information. This would probably be a new column (just like "Time" and "Value" are now).

Example of event:
{"ts":"2017-11-15T17:05:09.898","pid":50992,"tid":"bf10","sev":"info","req":"-","sess":"-","site":"{5843357A-1609-4CB9-BBF1-C4307BBCC217}","user":"-","k":"end-ds-connect-data-connection","a":{"depth":3,"elapsed":0.064,"end":"2017-11-16T01:05:09.842Z","id":"P/////U30nQP/////30IOX","name":"ds-connect-data-connection","res":{"alloc":{"e":"4.42e+03","i":"4.67e+06","ne":50,"ni":54037},"free":{"e":"3.11e+03","i":"1.58e+06","ne":33,"ni":9296}},"rk":"success","rv":"","sponsor":"J+JTXBxiUHGP////+0fkqw","type":"end","view":"","workbook":""},"v":{"caption":"Airport","elapsed":0.064,"name":"Airport"}}

One tricky thing is that "a" has nested objects and the the collapsing/expanding might conflict with Value (how to display both?)

is there a max tree size that the viewer will visualize?

I have large query trees that I'd like to optimize. (in some cases exceeding 500k nodes, as known from the relevant error message)
when trying to visualise these, I click the button and nothing happens (i suppose due to the excessive size).
Is this expected?

Feature request: `Go to line`

From time to time, I am using simple ad-hoc scripts to search for more complicated patterns in log files. E.g., recently I had to write a small script which gave me a list of all threads which did acquire locks but did not release them again. I keep those scripts very simple, and they usually output only line numbers of interesting events.

It would be perfect if I could enter the obtained line number in a Go to line dialog.
Usually, I would just go ahead and implement that feature. However, Go to line is usually associated with the keyboard combination Ctrl+G - and this one is already used for the highlight dialog.

Hence, I wanted to start a discussion first: Do you consider Go to line useful? Do you think we should reassign Ctrl+G to Go to line and find some other shortcut for Highlight?

Relax restrictions on filter names (i.e. allow "end-query")

If I attempt to name highlight filter something like "end-query" then I get following error:
Only alphanumeric characters and underscores are allowed.

image

That name is used as a file name so let's allow everything that file system can handle.

Port "Split By" functionality

Got a request to port back "split by" functionality from original TLV.
Any takers?

Log splitting
To make it easier to analyze large complex log files, they can be split into multiple views in TLV based on a single value or all values of one of the columns. Currently log splitting is only possible by columns TID, Request, Session, Site, User and Key.

To split current view by all values of a selected column click on the menu command "split by...", which will display a dropdown menu where you can choose which column to split the view by. This will create a new tab window for each value of the chosen column and those tabs will only contain records that have one of the selected column values.

Opening preferences window in Mac changes UI color

You need to be using a Mac and the "Native" theme to see this.

  1. Open TLV
  2. Open any log file
  3. Open the "Preferences..." window
    =>Notice how the style and color changes on the main window, a hybrid of light and dark elements. Change is undoable unless you re-start TLV
    screen shot 2017-09-11 at 2 54 15 pm

Allow pasting log entries from clipboard

Very often I look at log files either in archives or Splunk i.e. where I do not get a direct access to a file path.
I'd like to be able to select log lines, copy them to clipboard and load the up to TLV from clipboard.

Tableau can do it why can't you? :)

Query Visualization not working through Remote Desktop

When attempting to visualize a query while using TLV through Remote Desktop, the window that should contain the graph will pop up, but its contents will be plain black. Image attached below to illustrate. This is while RDPing to Windows Server 2008R2 from a Windows 10 machine. The same behavior is observed in Windows's default RDP client as well as Remove Desktop Connection Manager 2.7.

image

Let me know if any other information can help you on this!

Weird behavior of find window

The find window should not close because multiple instances of a string could exist and this finds just the first ocurrence. It should work similarly to the Microsoft Word search window.

Wrap text option is not persisted

Happening in the latest TLV (from Luis's click once installer).

Steps to repro:

  1. Open a log entry. Notice that wrap text is checked by default
  2. Uncheck the wrap text option
  3. Close the log entry
  4. Open the same or another log entry

Expected: Wrap text is disabled
Actual: Wrap text is enabled again (by default)

The content is not splitted accordingly in to columns

Hello,

I'm investigating TLV as a possible solution to quickly parse Tableau Server Logs.

It's seems very useful with handy options existing out-of-the-box.

I've noticed that the column "value" also contains the time info; if I also put the check to display the time column the rows for the column are empty so the data is not splitted accordingly (please see the attached image).
capture

How can I solve this?

Thanks,
Bogdan

Large integers do not show correctly in TLV (double precision loss)

When the log contains large 64bit integers, they do not get correctly displayed. The last digits differ from the actual value.

Given the example log line:
{"ts":"2018-11-28T17:33:01.230","pid":43075,"tid":"70000dbe3000","sev":"info","req":"-","sess":"10483","k":"large-integer","v":{"some-id":9223372036855065056}}
TLV will show "some-id: 9223372036855064576"

This is probably due to parsing the number as a double first and loosing precision on the way. I am not sure if the underlying JSON parser supports the whole range of int64 and this is a TLV issue or if this is a limitation of the JSON parser itself.

TLV Project file contains back slashes

Which might scare people when qmake throws warnings:

qmake -spec macx-clang CONFIG+=x86_64 -Wall ~/Development/tableau-log-viewer/src/tableau-log-viewer.pro
WARNING: /Users/russch/Qt/5.7/clang_64/mkspecs/features/resources.prf:22: Unescaped backslashes are deprecated

Session filtering should ignore the route part of the session ID

There are two flavours of the session Id (such as 523F2857DD2B4536B7C86A479F0212E2 and 523F2857DD2B4536B7C86A479F0212E2-1:2) in the vizqlserver native API log, which means that when I use the TLV menu “Export to new tab > This session” (same for highlight), I miss lots of lines (only getting the matches for either of the two flavours but not both). I believe the session ID without the route part should be enough for identifying the session, and the two different formats should be treated as the same.

Could not find mkspecs for your QMAKESPEC(macx-clang-32)

Throws this error
Could not find mkspecs for your QMAKESPEC(macx-clang-32) after trying: /anaconda/mkspecs Error processing project file: src/tableau-log-viewer.pro

when I try to run qmake -spec macx-clang CONFIG+=x86_64 -Wall /src/tableau-log-viewer.pro

I'm currently running osx 10.11.6 and anaconda 3.19.0

Is anyone else seeing something like this?

Logical Conditions on Highlight Filters

I would like to apply AND condition on Highlight Filters would that be possible?

Scenario: I want to apply following filters on Highlight at the same time and get the results when both of those conditions are satisfied.

Filter1:

Match Field: Key
Math Type: Regex
Search Text: (begin|end)-protocol.query

Filter2:

Match Field: Value
Match Type: Contains
Search Text: query-category: Data

How Do I use TLV..?

It is still unclear how to launch the application, can someone help me understand the same?

Display event count in the status bar

Users wants to see the current displayed event count.
We could make better use of status bar.

Maybe break status bar into sections so we can constantly display some relevant information?
Currently we have show what's highlighted and some search output ("found X on line Y").

Can someone pick this up?

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.