Hi, I am new to IAGO and even to JAVA can you help me creating a load test

142 views
Skip to first unread message

Yogesh Bhirud YRB

unread,
Apr 10, 2014, 9:05:45 AM4/10/14
to iago-...@googlegroups.com
Hi,
I have download the iago setup from twitter website

java -jar iago.jar -f config/my_config.scala

Here i have tried hard to find what iago.jar is ?
Do we need to create a .jar file or is it already existing.

If we need to create what is the basic procedure of it.

Thanks in advance

James Waldrop

unread,
Apr 10, 2014, 11:07:57 AM4/10/14
to iago-...@googlegroups.com
The quick start instructions are hopefully fairly effective here:




--

---
You received this message because you are subscribed to the Google Groups "Iago Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to iago-users+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Tom Howland

unread,
Apr 10, 2014, 12:03:17 PM4/10/14
to iago-...@googlegroups.com

Yogesh Bhirud YRB

unread,
Apr 11, 2014, 12:56:46 AM4/11/14
to iago-...@googlegroups.com
I may sound little foolish but as i said i am doing it for the first time and have very little knowledge of java , scala and iago and maven...


What i did was i installed apache maven. had set path of maven and in that bin of maven folder i have kept the extracted IAGo folder,


After that i have used the command mvn -DskipTests install. But after that i am getting this error.

D:\apache-maven-3.2.1-bin\apache-maven-3.2.1\bin>mvn -DskipTests install
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.066 s
[INFO] Finished at: 2014-04-11T10:21:46+05:30
[INFO] Final Memory: 3M/15M
[INFO] ------------------------------------------------------------------------
[ERROR] The goal you specified requires a project to execute but there is no POM
 in this directory (D:\apache-maven-3.2.1-bin\apache-maven-3.2.1\bin). Please ve
rify you invoked Maven from the correct directory. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
ch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please rea
d the following articles:
Exception
D:\apache-maven-3.2.1-bin\apache-maven-3.2.1\bin>mvn -DskipTests instalmvn -Dski
pTests installl
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.070 s
[INFO] Finished at: 2014-04-11T10:24:50+05:30
[INFO] Final Memory: 3M/15M
[INFO] ------------------------------------------------------------------------
[ERROR] The goal you specified requires a project to execute but there is no POM
 in this directory (D:\apache-maven-3.2.1-bin\apache-maven-3.2.1\bin). Please ve
rify you invoked Maven from the correct directory. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
ch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please rea
d the following articles:
Exception



When i tried with this command 

java -jar IAGO10.jar -f

I am getting this error
Error: Unable to access jarfile IAGO10.jar

I know it would take much of your time to explain me from start but it will be really helpfull for me.

Thanks in advance

Tom Howland

unread,
Apr 11, 2014, 12:05:03 PM4/11/14
to iago-...@googlegroups.com
when you run maven, it requires that there be a configuration file pom.xml to be in the current working directory. The build has to complete successfully before you can proceed.

In your example, you weren't in the iago distribution directory.


--

James Waldrop

unread,
Apr 11, 2014, 12:09:56 PM4/11/14
to iago-...@googlegroups.com
Also, case matters, so capitalizing things that should be lowercase (like iago vs IAGO) will cause you problems.

Yogesh Bhirud YRB

unread,
Apr 11, 2014, 3:25:45 PM4/11/14
to iago-...@googlegroups.com

Hi,

Thanks a.lot for the reply.. I have done it with maven using the same iago folder which is downloaded from git website... Now the problem is I am getting the error that" the main manifest is not there"

You received this message because you are subscribed to a topic in the Google Groups "Iago Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/iago-users/BWfUVHFE6Z4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to iago-users+...@googlegroups.com.

Tom Howland

unread,
Apr 11, 2014, 3:27:45 PM4/11/14
to iago-...@googlegroups.com
try pasting your build + invocation in one window so we can see what's going on. We need to see output.

Yogesh Bhirud YRB

unread,
Apr 14, 2014, 1:58:47 AM4/14/14
to iago-...@googlegroups.com

Hi,
I am trying to run  the jar and i have also attached the .png file for the same.
So, please see and let me know the required step.

Basically i will summarise the things i am doing.

I have preapred the .jar iago file through maven. And tried to run it through cmd. But i am getting the error which is attached in the snapshot ..

Yogesh Bhirud YRB

unread,
Apr 14, 2014, 5:32:27 AM4/14/14
to iago-...@googlegroups.com
Hi,


This is the POM file i am using.


<?xml version="1.0"?>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.twitter</groupId>
  <artifactId>iago</artifactId>
  <version>0.6.14</version>
  <name>${project.artifactId}</name>
  <description>Iago Load Generator</description>
  <inceptionYear>2012</inceptionYear>
  <properties>
    <mainClass>com.twitter.parrot.launcher.LauncherMain</mainClass>
  </properties>
<repositories>
    <repository>
      <id>twitter</id>
      <name>Twitter Public Repo</name>
      <url>http://maven.twttr.com</url>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <id>repo1</id>
      <name>Maven Central</name>
      <url>http://repo1.maven.org/maven2</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </pluginRepository>
  </pluginRepositories>
  <dependencies>
    <dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-library</artifactId>
      <version>2.10.3</version>
    </dependency>
   
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-math</artifactId>
      <version>2.2</version>
    </dependency>
   
    
   
   
   
   
    
  
   
    <!-- Test -->
    <dependency>
      <groupId>org.scalatest</groupId>
      <artifactId>scalatest_2.10</artifactId>
      <version>1.9.2</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <testResources>
      <testResource>
        <directory>config</directory>
      </testResource>
      <testResource>
        <directory>src/test/resources</directory>
      </testResource>
    </testResources>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>net.alchim31.maven</groupId>
          <artifactId>scala-maven-plugin</artifactId>
          <version>3.0.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>2.3.2</version>
          <configuration>
            <source>1.6</source>
            <target>1.6</target>
            <showDeprecation>true</showDeprecation>
            <showWarnings>true</showWarnings>
          </configuration>
        </plugin>
        <plugin>
          <groupId>com.twitter</groupId>
          <artifactId>maven-finagle-thrift-plugin</artifactId>
          <version>0.0.13</version>
          <configuration>
            <thriftOpts>
              <thriftOpt>--finagle</thriftOpt>
            </thriftOpts>
          </configuration>
          <executions>
            <execution>
              <id>thrift-sources</id>
              <phase>generate-sources</phase>
              <goals>
                <goal>compile</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>com.twitter</groupId>
          <artifactId>scrooge-maven-plugin</artifactId>
          <version>3.12.1</version>
          <configuration>
            <thriftOpts>
              <thriftOpt>--finagle</thriftOpt>
            </thriftOpts>
          </configuration>
          <executions>
        
          </executions>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>2.1.2</version>
        <executions>
          <execution>
            <id>attach-sources</id>
            <phase>verify</phase>
            <goals>
              <goal>jar-no-fork</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>net.alchim31.maven</groupId>
        <artifactId>scala-maven-plugin</artifactId>
        <executions>
       <!--    <execution>
            <id>scala-compile-first</id>
            <phase>process-resources</phase>
            <configuration>
              <args>
                <param>-unchecked</param>
                <param>-deprecation</param>
                <param>-encoding</param>
                <param>utf8</param>
              </args>
            </configuration>
            <goals>
              <goal>add-source</goal>
              <goal>compile</goal>
            </goals>
          </execution>  -->
         <!--  <execution>
            <id>scala-test-compile</id>
            <phase>process-test-resources</phase>
            <configuration>
              <args>
                <param>-unchecked</param>
                <param>-deprecation</param>
                <param>-encoding</param>
                <param>utf8</param>
              </args>
            </configuration>
            <goals>
              <goal>testCompile</goal>
            </goals>
          </execution> -->
        </executions>
        <configuration>
          <jvmArgs>
            <jvmArg>-Xmx2G</jvmArg>
          </jvmArgs>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <executions>
          <execution>
            <phase>compile</phase>
            <goals>
              <goal>compile</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-clean-plugin</artifactId>
        <version>2.5</version>
        <configuration>
          <filesets>
            <fileset>
              <directory>config/target</directory>
            </fileset>
          </filesets>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.12</version>
        <configuration>
          <argLine>-Xmx1024m</argLine>
          <redirectTestOutputToFile>false</redirectTestOutputToFile>
          <includes>
            <include>**/Test*.java</include>
            <include>**/*Test.java</include>
            <include>**/*Spec.java</include>
          </includes>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.2.1</version>
        <configuration>
          <mainClass>${mainClass}</mainClass>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          
        </executions>
      </plugin>
      <plugin>
        <groupId>com.twitter</groupId>
        <artifactId>scrooge-maven-plugin</artifactId>
        <!-- this version must match the version from scrooge-gen.ivy.xml -->
        <version>3.12.1</version>
        <configuration>
          <language>scala</language>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>zinc</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>net.alchim31.maven</groupId>
              <artifactId>scala-maven-plugin</artifactId>
              <version>3.1.5</version>
              <configuration>
                <recompileMode>incremental</recompileMode>
                <useZincServer>true</useZincServer>
                <javacArgs>
                  <javacArg>-target</javacArg>
                  <javacArg>6</javacArg>
                  <javacArg>-source</javacArg>
                  <javacArg>6</javacArg>
                </javacArgs>
              </configuration>
            </plugin>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <version>2.3.2</version>
              <configuration>
                <source>1.6</source>
                <target>1.6</target>
                <showDeprecation>true</showDeprecation>
                <showWarnings>true</showWarnings>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>git</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>pl.project13.maven</groupId>
            <artifactId>git-commit-id-plugin</artifactId>
            <version>1.9</version>
            <executions>
              <execution>
                <goals>
                  <goal>revision</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <dotGitDirectory>${git.dir}</dotGitDirectory>
              <generateGitPropertiesFile>true</generateGitPropertiesFile>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>2.12</version>
      </plugin>
      <plugin>
        <groupId>net.alchim31.maven</groupId>
        <artifactId>scala-maven-plugin</artifactId>
        <version>3.0.1</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.8.1</version>
      </plugin>
    </plugins>
  </reporting>
</project>




On Thursday, 10 April 2014 18:35:45 UTC+5:30, Yogesh Bhirud YRB wrote:

Tom Howland

unread,
Apr 14, 2014, 3:15:28 PM4/14/14
to Yogesh Bhirud YRB, iago-...@googlegroups.com
Yogesh

I suspect you were hitting the same bugs that were stopping Namdev Mhaske. Try pulling fresh changes.

--

Yogesh Bhirud YRB

unread,
Apr 15, 2014, 3:04:00 AM4/15/14
to iago-...@googlegroups.com, Yogesh Bhirud YRB
Hi,

I have donw this with fresh changes but still the issue is same.

Error :



D:\iago-master\iago-master\target\iago-0.6.14-package-dist>java -jar iago-0.6.14
.jar
Error: Could not find or load main class com.twitter.parrot.launcher.LauncherMai
n





I have commented many dependencies in the POM file as they were of twitter and could not have been downloaded by maven. The Pom file is as below.



I don't think we have a option of attaching file here hence i have copied the content..

I have few queries ...

1. Do we require Scala installed in the machine to do this?
2. The client till now have not given me the pom or thing which we have to test the only thing told is we have to do rnd and make iago work after that they will provide us with the requirements for this.
3. Is there any specific we need to run this.. Any pre conditions?
4. I am working on Windows machine.

Thanks in Advance.




<?xml version="1.0"?>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.twitter</groupId>
  <artifactId>iago</artifactId>
  <version>0.6.14</version>
  <name>${project.artifactId}</name>
  <description>Iago Load Generator</description>
  <inceptionYear>2012</inceptionYear>
  <properties>
    <mainClass>com.twitter.parrot.launcher.LauncherMain</mainClass>
    <VERSION>${project.version}</VERSION>
    <REVISION>${project.version}</REVISION>
    <twitter.package.type>package-dist</twitter.package.type>
  </properties>
  <!--  <parent>
    <groupId>com.twitter</groupId>
    <artifactId>aggregator</artifactId>
    <version>0.0.2</version>
    <relativePath>../aggregator/pom.xml</relativePath>
  </parent> -->
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.1.1</version>
    </dependency>
    <dependency>
      <groupId>com.twitter</groupId>
      <artifactId>scrooge-core_2.10</artifactId>
      <version>3.12.2</version>
           <!--   <execution>
              <id>thrift-sources</id>
              <phase>generate-sources</phase>
              <goals>
                <goal>compile</goal>
              </goals>
            </execution>-->
        <!--   <execution>
            <id>build-classpath</id>
            <phase>compile</phase>
            <goals>
              <goal>build-classpath</goal>
            </goals>
            <configuration>
              <outputFile>.classpath.txt</outputFile>
            </configuration>
          </execution>  -->
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <archive>
            <manifest>
              <addClasspath>true</addClasspath>
              <mainClass>${mainClass}</mainClass>
              <classpathPrefix>libs/</classpathPrefix>
              <!-- NB: updates the classpath in the manifest to match the filenames generated
                   by `parents/package-dist/src/main/resources/assemblies/package-dist.xml` -->
              <classpathLayoutType>custom</classpathLayoutType>
              <customClasspathLayout>${artifact.groupId}-${artifact.artifactId}-${artifact.version}${dashClassifier?}.${artifact.extension}</customClasspathLayout>
            </manifest>
          </archive>
        </configuration>
      </plugin>

      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.2.1</version>
        <configuration>
 <descriptor>src/assembly/package-dist.xml</descriptor>
          <archive>
            <manifest>
              <mainClass>${mainClass}</mainClass>
            </manifest>
          </archive>
        </configuration>
        <executions>
          <execution>
            <!-- this is used for inheritance merges -->
            <id>make-assembly</id>
            <!-- bind to the packaging phase -->
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>com.twitter</groupId>
        <artifactId>scrooge-maven-plugin</artifactId>

Tom Howland

unread,
Apr 15, 2014, 12:31:08 PM4/15/14
to iago-...@googlegroups.com
Hi Yogesh

I have donw this with fresh changes but still the issue is same.
Error :
D:\iago-master\iago-master\target\iago-0.6.14-package-dist>java -jar iago-0.6.14
.jar
Error: Could not find or load main class com.twitter.parrot.launcher.LauncherMai
n

Two possibilities here
  1. the manifest is corrupt. Try unpacking the jar and examining the manifest. That would be

    mkdir foo
    cd foo
    jar xv ../iago-0.6.14.jar
    type META-INF/MANIFEST.MF

    you should see a bunch of references to jar files.

  2. your current working directory doesn't have the "lib" directory referenced in the manifest.
Rather than debugging the manifest, you could provide the classpath directly with

java -cp libs/*;iago-0.6.14.jar com.twitter.parrot.launcher.LauncherMain
 
 I have commented many dependencies in the POM file as they were of twitter and could not have been downloaded by maven. The Pom file is as below.

I did not look at the pom. I assume it is the same as on github. The fact that you can build Iago indicates that all these were downloaded. You can prove it to yourself by looking at in linux would be called ~/.m2 -- the local maven cache.
 
I don't think we have a option of attaching file here hence i have copied the content..
I have few queries ...
1. Do we require Scala installed in the machine to do this?

No. The scala jar files are explicit dependencies. But it couldn't hurt.
 
2. The client till now have not given me the pom or thing which we have to test the only thing told is we have to do rnd and make iago work after that they will provide us with the requirements for this.
3. Is there any specific we need to run this.. Any pre conditions?
4. I am working on Windows machine.

Windows machine will be a challenge! Never been done before. As I mentioned in another thread:

Iago has only been tested on linux & OSX. We believe that Iago *should* work on Windows, but it has never been observed. Recently we switched to the scrooge compiler which was the last known impediment to getting Iago to build on Windows.

Iago has three parts, the launcher, server, and feeder. The launcher runs a shell script that starts the server and feeder. That could only work on windows if you were running in cygwin or something.

You'll notice that Iago generates a couple of scripts for running the server and feeder. You should translate those scripts to DOS and you should be good to go.

Good luck -- we would love to announce to the world that Iago worked on Windows.

Patches welcome! It would be awesome to modify the launcher to generate DOS flavored scripts when appropriate.
 
Reply all
Reply to author
Forward
0 new messages