`
sillycat
  • 浏览: 2551412 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Performance Tool(5)Upgrade to 2.0.x

 
阅读更多

Performance Tool(5)Upgrade to 2.0.x

But not finished at last.

Just successfully set up the Build.scala an etc as follow:

build.properties
sbt.version=0.13.5

plugins.sbt
addSbtPlugin("io.spray" % "sbt-revolver" % "0.7.2")

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.11.2")

addSbtPlugin("com.typesafe.sbt" % "sbt-scalariform" % "1.3.0")

resolvers += "Sonatype snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/"

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.7.0-SNAPSHOT")

addSbtPlugin("io.gatling" % "sbt-plugin" % "1.0-RC1")

Dependency.scala
import sbt._

object Dependencies {
  val gatling_version = "2.0.0-RC2"

  val log4j   = "log4j"                   % "log4j"                     % "1.2.17"
  val gatling = "io.gatling.highcharts"   % "gatling-charts-highcharts" % gatling_version

  val baseDeps = Seq (
    log4j,
    gatling
  )
}

Resolvers.scala
import sbt._

object Resolvers {
  val local =       Resolver.defaultLocal
  val local_maven = "Local Maven repo"   at "file://"+Path.userHome.absolutePath+"/.m2/repository"
  val maven =       "MAVEN repo"         at "http://repo1.maven.org/maven2"
  val sonatype =    "sonatype releases"  at "https://oss.sonatype.org/content/repositories/releases/"
  val sona_snap =   "sonatype snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/"
  val typsafe =     "typesafe repo"      at "http://repo.typesafe.com/typesafe/releases/"
  val spary =       "spray repo"         at "http://repo.spray.io/"
  val spary2 =      "Spray repo second"  at "http://repo.spray.cc/"
  val akka =        "Akka repo"          at "http://repo.akka.io/releases/"
  val scala_tools = "Scala Tools"        at "http://scala-tools.org/repo-releases/"
  val excilys =     "Excilys"            at "http://repository.excilys.com/content/groups/public"
  val excilys_snap ="Excilys Snapshot"   at "http://repository-gatling.forge.cloudbees.com/snapshot"
  val spray_nightly="spray nightlies"    at "http://nightlies.spray.io"

  val myResolvers = Seq (
    local,
    local_maven,
    maven,
    sonatype,
    sona_snap,
    typsafe,
    spary,
    spary2,
    akka,
    scala_tools,
    excilys_snap,
    spray_nightly
  )
}

Build.scala
import sbt._
import sbt.Keys._
import Resolvers._
import Dependencies._
import sbtassembly.Plugin._
import sbtassembly.AssemblyUtils._
import AssemblyKeys._
import BuildSettings._
import io.gatling.sbt.GatlingPlugin

object BuildSettings {
  val projectName = "sillycat-gatling"
  val buildSettings = Seq(
    organization := "org.sillycat",
    version := "1.0.0",
    scalaVersion := "2.10.4",
    crossScalaVersions := Seq("2.10.2", "2.10.3", "2.10.4", "2.11.0", "2.11.1", "2.11.2"),
    scalacOptions ++= Seq()
  )
}

object ApplicationBuild extends Build {

  lazy val main = Project(
    BuildSettings.projectName,
    file("."),
    settings = BuildSettings.buildSettings ++ assemblySettings
    ++
    Seq(resolvers := myResolvers,
        libraryDependencies ++= baseDeps,
        mergeStrategy in assembly := mergeFirst
    )
  )
    .enablePlugins(GatlingPlugin)
    .settings(
    mainClass in assembly := Some("com.sillycat.gatling.app.ExecutorApp"),
    excludedJars in assembly <<= (fullClasspath in assembly) map { cp =>
      cp filter {_.data.getName == "compile-0.1.0.jar"}
    },
    artifact in (Compile, assembly) ~= { art =>
      art.copy(`classifier` = Some("assembly"))
    }
  )

  lazy val mergeFirst: String => MergeStrategy = {
    case PathList("javax", "servlet", xs @ _*) => MergeStrategy.first
    case PathList("org", "apache", "jasper", xs @ _*) => MergeStrategy.first
    case PathList("org", "fusesource", xs @ _*) => MergeStrategy.first
    case PathList("org", "apache", "commons", xs @ _*) => MergeStrategy.first
    case PathList("org", "apache", "commons", "beanutils", xs @ _*) => MergeStrategy.first
    case PathList("org", "apache", "commons", "collections", xs @ _*) => MergeStrategy.first
    case PathList("com", "esotericsoftware", "minlog", xs @ _*) => MergeStrategy.first
    case PathList("org", "eclipse", xs @ _*) => MergeStrategy.first
    case PathList("META-INF", xs @ _*) =>
      (xs map {_.toLowerCase}) match {
        case ("changes.txt" :: Nil ) =>
          MergeStrategy.discard
        case ("manifest.mf" :: Nil) | ("eclipsef.rsa" :: Nil) | ("index.list" :: Nil) | ("dependencies" :: Nil) =>
          MergeStrategy.discard
        case ps @ (x :: xs) if ps.last.endsWith(".sf") || ps.last.endsWith(".dsa") || ps.last.endsWith("pom.properties") || ps.last.endsWith("pom.xml") =>
          MergeStrategy.discard
        case "plexus" :: xs =>
          MergeStrategy.discard
        case "services" :: xs =>
          MergeStrategy.filterDistinctLines
        case ("spring.schemas" :: Nil) | ("spring.handlers" :: Nil) =>
          MergeStrategy.filterDistinctLines
        case ps @ (x :: xs) if ps.last.endsWith(".jnilib") || ps.last.endsWith(".dll") =>
          MergeStrategy.first
        case ps @ (x :: xs) if ps.last.endsWith(".txt") =>
          MergeStrategy.discard
        case ("notice" :: Nil) | ("license" :: Nil) | ("mailcap" :: Nil )=>
          MergeStrategy.discard
        case _ => MergeStrategy.deduplicate
      }
    case "application.conf" => MergeStrategy.concat
    case "about.html" => MergeStrategy.discard
    case "plugin.properties" => MergeStrategy.first
    case _ => MergeStrategy.first
  }

}






References:
http://sillycat.iteye.com/blog/1829699
http://sillycat.iteye.com/blog/1994160
http://sillycat.iteye.com/blog/2096198
http://sillycat.iteye.com/blog/2108460

https://github.com/gatling/gatling-sbt

gatling Source codes
https://github.com/gatling/gatling/blob/2.0.0-M3X/gatling-app/src/main/scala/io/gatling/app/Gatling.scala

plugins Source codes
https://github.com/gatling/gatling-sbt/blob/master/test-framework/src/main/scala/io/gatling/sbt/GatlingTask.scala


分享到:
评论

相关推荐

    LESSY-BLOG(LBS2.0.283汉化修改版)

    article.asp, comment.asp, gbook.asp,trackback.asp, user.asp: 添加修改样式相关的代码- _upgrade2.0.b276.asp: 2.0.b276 及之前版本的升级文件2.0.b276- class/user.asp: 添加关闭 IP 检查的设置- source/src_...

    PyPI 官网下载 | bridgecrew-2.0.619-py3-none-any.whl

    《PyPI官网下载:探索Python库的安装与管理——以bridgecrew-2.0.619-py3-none-any.whl为例》 在Python的世界里,PyPI(Python Package Index)是官方的第三方软件包仓库,它为全球的Python开发者提供了一个集中地...

    redhat-upgrade-tool.tar.gz

    rehdat提供了centos6升级至centos7的工具,一般网络下载速度感人,此资源包含升级所需的preupgrade-assistant、preupgrade-assistant-contents、preupgrade-assistant-ui、redhat-upgrade-tool四个rpm包。

    a ml_upgrade_package.img

    中兴B860AV2.1-T刷机固件包,下载固件 a ml_upgrade_package.img 本人花钱购买学习测试有效

    Upgrade_SmartSchool.Professional_5.x.x.x-6.0.0.0.rar

    "Upgrade_SmartSchool.Professional_5.x.x.x-6.0.0.0.rar"是针对该软件的一次重要升级,旨在提升系统的稳定性和功能性,以适应不断变化的教育需求。 本次升级补丁的核心目标是从5.x.x.x版本升级到6.0.0.0版本,这...

    ubuntu 教你局域网安装花生壳2.0.pdf

    【Ubuntu局域网安装花生壳2.0教程】 在信息技术领域,花生壳是一款知名的动态域名解析服务软件,它允许用户通过一个固定的域名访问不断变化的IP地址,特别适合于家庭或小型办公室环境中的网络设备。在本文中,我们...

    Upgrade_BizIdea.Professional_5.x.x.x-6.1.0.0.rar

    Upgrade_BizIdea.Professional_5.x.x.x-6.1.0.0

    易分销.2.0to2.0.1.Upgrade.易分销2.0升级包

    "易分销.2.0to2.0.1.Upgrade.易分销2.0升级包" 是一个针对易分销系统从版本2.0到2.0.1的更新程序。这个升级包的主要目的是为了让现有用户能够顺利地将他们的易分销系统升级到最新版本,以获取新版本中的功能改进和...

    MTK刷机工具v5.1724_win

    4. **Firmware Upgrade**:固件升级过程通常包括解压下载的固件包,找到scatter文件,然后导入到SP Flash Tool中。scatter文件包含了手机硬件布局的信息,工具会根据这个文件来正确地刷写各个分区。 5. **风险与...

    中兴B860AV2.1-T固件包 a ml_upgrade_package.rar

    4. **准备刷机工具**:寻找适用于中兴B860AV2.1-T的刷机工具,如Fastboot、SP Flash Tool等。 5. **进入刷机模式**:根据设备指示,通常需要按特定的按键组合进入恢复模式或Fastboot模式。 6. **连接设备**:通过...

    Aironet-AP-to-LWAPP-Upgrade-Tool.zip

    《Cisco网络设备升级工具——Aironet AP to LWAPP Upgrade Tool详解》 在现代网络环境中,Cisco设备,如路由器、交换机、接入点(AP)和无线局域网控制器(WLC),扮演着至关重要的角色。为了确保网络的稳定性和...

    ST通用串行总线(USB) 2.0.zip

    标题中的"ST通用串行总线(USB) 2.0.zip"指的是一个关于USB 2.0技术的压缩文件,由意法半导体(ST)公司提供。USB 2.0是USB规范的一个版本,它在1998年发布,极大地提升了数据传输速度,最高可达480Mbps,比其前一代...

    ST-Link Upgrade Firmware V2.J33.S7.zip

    ST-Link Upgrade Firmware V2.J33.S7.zip是一个用于更新ST-Link设备固件的压缩包文件。这个文件主要用于提升ST-Link调试器的性能和功能,使其能更好地配合STM8和STM32微控制器进行开发工作。ST-Link是意法半导体...

    XTpl php模板引擎 v2.0.zip

    4. `CHANGELOG` 或 `UPGRADE.md` - 记录v2.0相对于旧版本的变化和升级指南。 5. `examples/` 目录 - 包含使用XTpl的示例模板和PHP代码。 6. `tests/` 目录 - 测试用例,用于确保XTpl的功能正确性和性能。 为了充分...

    finance-master1简单的财务会计软件.rar

    需要在原有账套执行升级脚本2006_upgrade_01.sql 升级2.0.0.5版本说明 支持多账套 https://www.cnblogs.com/edwardorchis/p/10798613.html 支持按模块进行权限控制 ...

    HG532eV100R001C01B020_upgrade_packet.bin

    HG532eV100R001C01B020_upgrade_packet.bin 定制版的华为HG532具有远程执行代码漏洞。 经过身份验证的攻击者可以将恶意数据包发送到端口37215,以发起攻击。 成功的利用可能导致远程执行任意代码。

    MSD6A638平台 99016917_V2.0.02_72001358YT_屏参U盘升级包.zip

    升级包中提到的99016917、V2.0.02和72001358YT分别代表了该升级包的型号标识、软件版本号以及可能的生产批次或定制代码。型号标识帮助用户确认升级包是否适用于他们的电视型号;软件版本号表明此次升级是在前一版本...

    SPD_Upgrade_Tool_R25.20.3901.zip

    标题“SPD_Upgrade_Tool_R25.20.3901.zip”指的是 Spreadtrum Communication 公司的固件升级工具的一个版本,R25.20.3901 是该工具的特定修订号。Spreadtrum 是一家专注于移动通信芯片组的中国公司,他们的产品广泛...

    清华同方电视系统升级upgrade_loader.pkg.rar

    USB升级(前提:能开机):第一种:upgrade_loader.pkg ,(1)从本站上拷贝所需批次的升级软件解压后,如出现文件名为upgrade_loader.pkg 的升级软件拷贝到U 盘根目录下; 注意升级软件必须是PKG 文件(不是bin...

    ST-Link Upgrade Firmware V2.J27.S6

    ST-Link Upgrade Firmware V2.J27.S6是STMicroelectronics为ST-Link调试器/编程器提供的固件更新程序,旨在提升其功能和性能。ST-Link是STMicroelectronics开发的一种工具,广泛用于STM8和STM32微控制器系列的调试和...

Global site tag (gtag.js) - Google Analytics