VSCode Semantic Coloring Performance - performance

I am working to provide semantic coloring for my language for VSCode client and java based language server using lsp4j. But for large files syncing the entire document has performance lag which becomes unacceptable for larger documents.
Can I get some insights for various options available?

Related

Logfile editor with good regex support

I am tangling with a project involving enormous text log files on the server and it is getting logistically difficult moving files around so I can get at them with my main programming editors. It has become clear that I need to install editors on the servers. Installing full devel tools is out of the question, and frankly, I'm a bit stumped as I guess I've mostly been using Visual Studio and Eclipse so long I just don't know much about the current state of editors out there.
I sure bet someone here on StackOverflow does!
I need something that can deal with large (multi GB) text files with efficiency and decent multiline regular expression support is a must. Other than those features, minimum footprint and bloat is better than more features. Windows Server 2008 R2. Of course free, or really reasonable price like shareware. Anyone have some suggestions?
Microsoft Log Parser:
Log parser is a powerful, versatile
tool that provides universal query
access to text-based data such as log
files, XML files and CSV files, as
well as key data sources on the
Windows® operating system such as the
Event Log, the Registry, the file
system, and Active Directory®.
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en
I have used it for parsing huge log files
Some examples: http://support.microsoft.com/kb/910447

purpose of IBM Cognos Business Intelligence and Financial Performance Management?

I've been mandated to find out what IBM Cognos does, and I cannot find useful information on the subject apart what I can read from the IBM Website and Wikipedia.
What I'm after is some concrete examples of what Cognos can do for businesses and organisations that intend to use it.
Financial Performance Management I have no idea about but we use BI 8.4/10.1 quite a bit. The Cognos product line is actually quite large and we only really use the baseline BI stuff with Framework Manager but I'll try and help you out, based on how we use it.
Think of BI itself as an application that lets you view your data in many different ways. Now so far, it's no different to Jasper Reports or BIRT (which, despite its name, appears to provide very little BI stuff).
It does this by modelling the data (models are created with Framework Manager hence why we use it over and above the standard reporting interface) to translate raw data into business data and also relational to dimensional data if your database isn't already dimensional.
It's this business view of the data combined with the dimensionality which allows really neat manipulation within Cognos BI.
You can create reports in a truly multi-dimensional way, aggregating data in various ways across things like dates, products, geographical regions, stores, divisions and so on (depending on your dimensional setup).
All of the reports are really dynamic in that you can collapse or expand individual dimensions at will so, if for example you want to drill down on a poorly-performing state to see which individual stores in that state are causing problems, it's a simple click on an icon.
No re-querying of the data, everything just happens in very quick time. And the charts and data that can be produced are very nice.
And, on top of that, Cognos BI comes with an inbuilt query studio and report studio which allow the creation of ad-hoc reports in the exact same interface the user sees when running standard reports. No more of the Eclipse-Designer/Web-App separation that we had to endure with BIRT.
Sorry if this sounds evangelistic but we're transitioning from BIRT to Cognos BI, and the difference is substantial.
Now you may not find a lot of information outside of the IBM website, although we did find a couple of dedicated sites when we first started examining the transition. Unfortunately, I don't have them available any more since the IBM information is more than adequate.
We also make a lot of use of the IBM developerWorks forums (we use Tivoli Common Reporting which ships with the Cognos runtimes) and the microsite as well. As well as the forums, there's a whole section of developerWorks dedicated to Cognos.
A bit late, but for the benefit of anyone browsing ... Cognos BI is essentially web based reporting/ dashboarding/ analytics. Historically it connected to relational databases only; from v8.4 onwards (and moreso from v10) it also connects to OLAP cube data sources. It's designed for end user self service reporting and includes mobile as well as web connectivity.
Cognos FPM provides in-server memory OLAP cube modelling (based on the TM1 engine). A key point of difference is that it permits end-user writeback and is generally used for budgeting and 'what-if' scenario modelling. Modelling is facilitated by Rules, which enable data modification. It also scales to the max. As noted above it may be integrated to Cognos BI (as well as being stand-alone), which means that a single dashboard may include reports from both relational & OLAP sources, and provide planning. So it's very powerful.
Note that Cognos Express provides essentially the same tools for the midmarket.
A little late but in case anyone else comes here and is looking for information, I would like to enhance #paxdiablo's answer. He was talking only about Modeling and reporting tool which is the best known Cognos.
There is also a powerful tool named Metric Studio which can track in an easy way, how business is performing. This tool is IMHO the best of the Cognos Suite, since it is truly BI for the high management.
Another thing that I love from Cognos (been using it since 2004) is the administration. From an IT perspective it is way easier to make things happen in Cognos rather than any other tool I've seen (BO included).
Just to name a few: you can link row-filtering with LDAP information (e.g. roles and customers); burst reporting through cognos content or email... the possibilities are huge.

Static code analysis tools for VB6

Right now we are maintaining some old project written in VB6 we are planning to implement continuous integration server for it. We would like to implement some code analysis as well to track that maintanability at least not getting worse. Basically there is only one requirement - the tool should be command line so we can call it from continuous integration server and it should work with VB6 projects. I will really appreciate any recommendations regards tools to try.
Thank you, Maksym
You could look at SourceMonitor as this says that it can produce metrics for VB6, and can be made to work from the command line.
I've only used it for C++ myself.
Have you looked at the recommendations in this question about tools for analysing VB6 source code?
I don't know whether any of these tools can be run from the command-line.
The Code Advisor for Visual Basic 6 is an add-in used to review your code to ensure that it meets predetermined coding standards.
The coding standards are based on best practices developed by Microsoft to produce robust and easy-to-maintain code.
http://www.microsoft.com/en-us/download/details.aspx?id=1222
You can use VBDepend for VB6 and VBA code, static analysis tool based on CQL, here is some of its functionality:
Compare Builds, 60 code metrics, manage Complexity and Dependencies
However VBDepend does not have a rule to check for duplicate/repeated code in the project. This was the most important rule that I was looking for.
Our SD Source Code Search Engine is a tool for lightning-fast search across large code bases.
It words by breaking the text into language atoms, indexing all those atoms, and then executing queries using the indexes to guide the search. The SCSE has a VB6-specific front end (as well as front ends for a wide variety of other languages).
As a side effect of the indexing process, it produces metrics: SLOC, number of comments, Cyclomatic Complexity, Halstead measures, deepest-nested conditionals, etc. These metrics are emitted to an XML file that can be formatted/interrogated any way you like.
The indexing process is a command-line step, so you can integrate it into your scripts.
We also have a clone detector for VB6 that finds exact and near-miss duplicate blocks of code across large systems of source code.

Is Pentaho ETL and Data Analyzer good choice?

I was looking for ETL tool and on google found lot about Pentaho Kettle.
I also need a Data Analyzer to run on Star Schema so that business user can play around and generate any kind of report or matrix. Again PentaHo Analyzer is looking good.
Other part of the application will be developed in java and the application should be database agnostic.
Is Pentaho good enough or there are other tools I should check.
Pentaho seems to be pretty solid, offering the whole suite of BI tools, with improved integration reportedly on the way. But...the chances are that companies wanting to go the open source route for their BI solution are also most likely to end up using open source database technology...and in that sense "database agnostic" can easily be a double-edged sword. For instance, you can develop a cube in Microsoft's Analysis Services in the comfortable knowledge that whatver MDX/XMLA your cube sends to the database will be intrepeted consistently, holding very little in the way of nasty surprises.
Compare that to the Pentaho stack, which will typically end interacting with Postgresql or Mysql. I can't vouch for how Postgresql performs in the OLAP realm, but I do know from experience that Mysql - for all its undoubted strengths - has "issues" with the types of SQL that typically crops up all over the place in an OLAP solution (you can't get far in a cube without using GROUP BY or COUNT DISTINCT). So part of what you save in licence costs will almost certainly be used to solve issues arising from the fact the Pentaho doesn't always know which database it is talking to - robbing Peter to (at least partially) pay Paul, so to speak.
Unfortunately, more info is needed. For example:
will you need to exchange data with well-known apps (Oracle Financials, Remedy, etc)? If so, you can save a ton of time & money with an ETL solution that has support for that interface already built-in.
what database products (and versions) and file types do you need to talk to?
do you need to support querying of web-services?
do you need near real-time trickling of data?
do you need rule-level auditing & counts for accounting for every single row
do you need delta processing?
what kinds of machines do you need this to run on? linux? windows? mainframe?
what kind of version control, testing and build processes will this tool have to comply with?
what kind of performance & scalability do you need?
do you mind if the database ends up driving the transformations?
do you need this to run in userspace?
do you need to run parts of it on various networks disconnected from the rest? (not uncommon for extract processes)
how many interfaces and of what complexity do you need to support?
You can spend a lot of time deploying and learning an ETL tool - only to discover that it really doesn't meet your needs very well. You're best off taking a couple of hours to figure that out first.
I've used Talend before with some success. You create your translation by chaining operations together in a graphical designer. There were definitely some WTF's and it was difficult to deal with multi-line records, but it worked well otherwise.
Talend also generates Java and you can access the ETL processes remotely. The tool is also free, although they provide enterprise training and support.
There are lots of choices. Look at BIRT, Talend and Pentaho, if you want free tools. If you want much more robustness, look at Tableau and BIRT Analytics.

Are there better clients for viewing System Monitor logs?

Does anyone know of a better GUI client for displaying Windows System Monitor log files? (System Monitor is sometimes called Performance Monitor.) I'm trying to track a long-term memory leak in a C# application running on Windows XP or 2K3 by comparing memory usages to run logs.
Specifically I want a client that will allow me to see the following (because System Monitor is unable or difficult):
Specify exact date time ranges for viewing data (or at least finer granularity than hours)
Show time intervals along the horizontal axis
Show max, min, average for the time range
Somewhere show the interval on which source data was captured (1 sec, 5 min, etc.)
(If no such thing exists I'm willing to hear recommendations for better long term performance/memory capturing tools.)
Edit: I've done Google searches and haven't found anything except tutorials on how to create System Monitor logs.
See this question.
The PAL tool does a nice job of creating an HTML report with charts and graphs. By creating your own Threshold file you can control what goes into the report.
While I accepted Patrick Cuff's answer, for my needs I found a better way to graph the data: Excel
It still doesn't provide everything I need, but it is a marked improvement over the System Monitor GUI. I use the relog command line tool to convert the log into a CSV, and then import the CSV into Excel. Excel does not automatically handle the third one, but I can add new columns to graph, and it does allow me to have better control over which data I'm displaying.
One of the tricks that I have used in the past is to use performance/system monitor to log this data to a SQL database. SQL Expression can work great for this. Then you can generate reports using Reporting Services or for the more adventurous types you can do some cube analysis with Analysis Services. So while this does not solve the UI problem, it does allow you to make your own UI. When I had done this previously I just used a simple Reporting Services graph.
SCOM 2007 with reporting services actually does a pretty good job of this. If not the SQLh2 tool is almost as good and its free. You will probably have to customize the reports yourself though

Resources