`
sillycat
  • 浏览: 2539664 次
  • 性别: 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包。

    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

    a ml_upgrade_package.img

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

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

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

    MTK刷机工具v5.1724_win

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

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

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

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

    【MSD6A638平台 99016917_V2.0.02_72001358YT_屏参U盘升级包.zip】这个压缩包文件是针对康佳品牌电视的一个特定版本的屏参升级工具。康佳作为知名的电视制造商,其产品在市场中有较高的占有率,而屏参(屏幕参数)的...

    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 支持按模块进行权限控制 ...

    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微控制器系列的调试和...

    F612_V5.0.1P1T4_NAND128K_UPGRADE_BOOTLDR.bin

    《中兴光猫固件升级详解——以F612_V5.0.1P1T4_NAND128K_UPGRADE_BOOTLDR.bin为例》 在IT领域,网络设备的固件升级是一项常见的维护任务,对于家庭宽带用户而言,光猫(光纤调制解调器)的固件更新尤为关键。本文将...

Global site tag (gtag.js) - Google Analytics