Scala speed test and profiler - scala

I'm interested in speed test and performance of my application. For example how much time was spent to db query (I use squeryl ORM).
Are there any plugins for Intellij-Idea IDE?

If you are looking for plugins for Intellij-IDEA, then the YourKit profiler can be integrated into this IDE. YourKit profilers might be difficult to use to measure the exact time in a specific part of code.
You should consider using a microbenchmarking framework such as ScalaMeter for this. In this framework you write tests similar to unit tests, that can be run selectively to verify that the performance hasn't changed. It can be neatly integrated with SBT -- you can run it as a test.

Since Scala runs in JVM how about jvisualvm , although not an intellij plugin :
http://docs.oracle.com/javase/6/docs/technotes/tools/share/jvisualvm.html

Related

When is jUnit4 going to be deprecated?

Since junit5 out there, how long jUnit4 going to be supported? Any plans for deprecation, when is it going to be? We are just trying to gauge whether we need to migrate existing jUnit4 test cases to jUnit5 now or later at some point. The user guide says the following but wanted know more clearly how long (a year, two or more from now)? Appreciate your response.
"since the JUnit team will continue to provide maintenance and bug fix releases for the JUnit 4.x baseline, developers have plenty of time to migrate to JUnit Jupiter on their own schedule."
JUnit 4 hasn’t seen any functional upgrade in a decade. What the JUnit team does is maintain the JUnit 4 engine, called Vintage, which runs JUnit 4 on the JUnit 5 platform. As long as the platform engine API stays downwards compatible this is very likely to work. The two events that could break JUnit 4 are:
The platform changes in a highly incompatible way and the Vintage engine will no longer be supported. This is not to be expected in the near future.
Java changes in an incompatible way so that the original JUnit 4 code no longer works. I don’t see that looming either.
That said, using just JUnit 4 decouples you from all innovation in the field of Java test automation. Many extensions already do not support JUnit 4 anymore. My recommendation: Start using the platform at once using Vintage. Write all new tests with Jupiter and the other test engines you need. Migrate old JUnit 4 tests when you have to adapt them anyway.

Use NUnit Prefilter by nunit3-console

I'm developing data driven tests using Nunit3 and .Net Core 3.1 and I have many tests with more different data sources, which sometimes have complex logic inside. When I want start only one tests I want to start only one data provider, but I run all. In 3.15.1 ver of NUnit framework was released PreFilter, which solve this problem.
But this feature available only on .runsettings file as I understood docs.
In this question Charlie Poole says that .runsettings is only for VS adapter. But the VS adapter takes a long time to run my tests.
I found info for configuration file but don't undestand what I can configure in this file 0_o
Can I run my tests by NUnit Console Runner 3.12.0-beta1 with PreFilter?
I'm afraid not, no.
There's an open issue to implement it here: https://github.com/nunit/nunit-console/issues/438. You'll see from the VS adapter docs there's several edge-case bugs around this, which will be more visible in the adapter than in the console. At this point in time, nobody has yet taken on that task of implementing this feature in the console.

Can Eclipse/IntelliJ Idea be used to execute code on the cluster

Production system : HDP-2.5.0.0 using Ambari 2.4.0.1
Aplenty demands coming in for executing a range of code(Java MR etc., Scala, Spark, R) atop the HDP but from a desktop Windows machine IDE.
For Spark and R, we have R-Studio set-up.
The challenge lies with Java, Scala and so on, also, people use a range of IDEs from Eclipse to IntelliJ Idea.
I am aware that the Eclipse Hadoop plugin is NOT actively maintained and also has aplenty bugs when working with latest versions of Hadoop, IntelliJ Idea I couldn't find reliable inputs from the official website.
I believe the Hive and HBase client API is a reliable way to connect from Eclipse etc. but I am skeptical about executing MR or other custom Java/Scala code.
I referred several threads like this and this, however, I still have the question that is any IDE like Eclipse/Intellij Idea having an official support for Hadoop ? Even the Spring Data for Hadoop seems to lost traction, it anyways didn't work as expected 2 years ago ;)
As a realistic alternative, which tool/plugin/library should be used to test the MR and other Java/Scala code 'locally' i.e on the desktop machine using a standalone version of the cluster ?
Note : I do not wish to work against/in the sandbox, its about connecting to the prod. cluster directly.
I don't think that there is a genereal solution which would work for all Hadoop services equally. Each solution has it's own development, testing and deployment scenarios as they are different standalone products. For MR case you can use MRUnit to simulate your work locally from IDE. Another option is LocalJobRunner. They both allow you to check your MR logic directly from IDE. For Storm you can use backtype.storm.Testing library to simalate topology's workflow. But they all are used from IDE without direct cluster communications like in case wuth Spark and RStudio integration.
As for the MR recommendation your job should ideally pass the following lifecycle - writing the job and testing it locally, using MRUnit, then you should run it on some development cluster with some test data (see MiniCluster as an option) and then running in on real cluster with some custom counters which would help you to locate your malformed data and to properly maintaine the job.

Continuous Integration with Jasmine and Play framework?

Were doing some TDD at uni and I'm wondering if it is easy enough to get continuous integration with a tool like Jenkins or Bamboo for a javascript based app using the Play Framework (with a tiny bit of Scala) and looking to use testing frameworks like Jasmine (and for the scala scalatest or JUnit)?
i found this post which describes a way to set CI up with Jasmine:Guard and Jenkins.
There is an SBT plugin for Jasmine. I used it recently with Play 2.2.3 based on this excellent guide by Pere Villega and was able to run the Jasmine tests together with the other tests using play test. You should be able to execute them this way using a CI server without much effort.
This plugin integrates Jasmine with Play.
This one integrates Jenkins with Play.

Play framework runs previous compiled code

I'm having a problem with play framework: when I compile after modifying a single file and run it, it often runs the old compiled code. Seems to be using something like an internal cache.
system:
play 2.2.1 built with Scala 2.10.2 (running Java 1.7.0_25)
issue:
After recompiling the project and refreshing browser's view it is often still executed the previous code.
fix:
clean compile will fix it, by the way it's quite time consuming.
Thank you,
Pietro
Well this is because you are not running it in development mode i.e. play run.
In this mode, the server will be launched with the auto-reload feature enabled, meaning that for each request Play will check your project and recompile required sources. If needed the application will restart automatically.