code: public static void main(String[] args) throws Exception {
  		final String storageDirectory = Parameter.STORAGE_DIRECTORY.getValue();
  		if (storageDirectory == null) {
  			throw new IllegalArgumentException(
  					"Please give the javamelody storage directory with -Djavamelody.storage-directory=... containing directories with the data of one or more instances of an application");
  		}
  		// merge and copy the data of one or more instances into a temporary directory
  		final String tmpApplication = "tmpjavamelody" + new Random().nextInt();
  		final String mergedDirectory = System.getProperty("java.io.tmpdir"); //Parameters.getStorageDirectory(tmpApplication).getPath();
  
  		DataMerge.main(new String[] { storageDirectory, mergedDirectory + '/' + tmpApplication });
  		addShutdownHook(new File(mergedDirectory + '/' + tmpApplication));
  
  		final Map<Parameter, String> parameters = new HashMap<>();
  		// set the path of the reports:
  		parameters.put(Parameter.MONITORING_PATH, "/");
  
  		// set the storage directory and temp application name:
  		Parameter.STORAGE_DIRECTORY.setValue(mergedDirectory);
  		parameters.put(Parameter.APPLICATION_NAME, tmpApplication);
  
  		// start the embedded http server with javamelody
  		final String port = System.getProperty("javamelody.viewer.port", "8080");
  		String url = "http://localhost:" + port + '/';
  		System.out.println("Starting on " + url);
  		EmbeddedServer.start(Integer.parseInt(port), parameters);
  
  		// open the reports in a browser
  		final String lastDay = new SimpleDateFormat("yyyy-MM-dd")
  				.format(new Date(getLatest(new File(storageDirectory))));
  		url += "?period=" + lastDay + "%7C" + lastDay + "&pattern=yyyy-MM-dd";
  		System.out.println("Opening the reports in a browser on " + url);
  		Desktop.getDesktop().browse(URI.create(url));
  		System.out.println("Done");
  	}
docs: main.
  @param args String[]
  @throws Exception e