use old memes
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Torma Kristóf 2020-10-22 20:46:58 +02:00
parent 215bb0ed13
commit c0066bb414
Signed by: tormakris
GPG Key ID: DC83C4F2C41B1047
2 changed files with 12 additions and 11 deletions

View File

@ -23,14 +23,15 @@ fun Application.module(testing: Boolean = false) {
val timestamps = LinkedHashMap<Int, Instant>() val timestamps = LinkedHashMap<Int, Instant>()
val uploaders = LinkedList<Uploader>() val uploaders = LinkedList<Uploader>()
val processResults = ProcessResults() val processResults = ProcessResults()
var currUploader : Uploader var currUploader: Uploader
environment.monitor.subscribe(ApplicationStarted) { environment.monitor.subscribe(ApplicationStarted) {
GlobalScope.launch { GlobalScope.launch {
println("Starting benchmark") println("Starting benchmark")
startTime = Instant.now() startTime = Instant.now()
while (elapsed < targetTime) { while (elapsed < targetTime) {
currIter += 1 currIter += 1
currUploader = Uploader(currIter) currUploader = Uploader()
currUploader.currIteration = currIter
currUploader.buildRequest() currUploader.buildRequest()
uploaders.add(currUploader) uploaders.add(currUploader)
currTimeStamp = Instant.now() currTimeStamp = Instant.now()
@ -39,7 +40,7 @@ fun Application.module(testing: Boolean = false) {
for (uploader in uploaders) { for (uploader in uploaders) {
uploader.sendRequest() uploader.sendRequest()
} }
for (uploader in uploaders){ for (uploader in uploaders) {
timestamps[uploader.currIteration] = uploader.respInstant timestamps[uploader.currIteration] = uploader.respInstant
} }
println("Benchmark ended") println("Benchmark ended")

View File

@ -1,24 +1,22 @@
package com.kmlabz.k8s package com.kmlabz.k8s
import com.google.gson.Gson
import com.google.gson.GsonBuilder import com.google.gson.GsonBuilder
import io.ktor.client.* import io.ktor.client.*
import io.ktor.client.engine.apache.* import io.ktor.client.engine.apache.*
import io.ktor.client.request.* import io.ktor.client.request.*
import io.ktor.client.request.forms.* import io.ktor.client.request.forms.*
import io.ktor.client.statement.*
import io.ktor.http.* import io.ktor.http.*
import io.ktor.http.content.* import io.ktor.http.content.*
import io.ktor.util.* import io.ktor.util.*
import java.io.File import java.io.File
import java.time.Instant import java.time.Instant
class Uploader(currIteration: Int) { class Uploader{
private val gson = GsonBuilder().setPrettyPrinting().create() private val gson = GsonBuilder().setPrettyPrinting().create()
private val inputSound = File("/app/wave.wav").readBytes() private val inputSound = File("/app/wave.wav").readBytes()
private lateinit var parts: List<PartData> private lateinit var parts: List<PartData>
var respInstant : Instant = Instant.now() var respInstant: Instant = Instant.now()
var currIteration : Int = 0 var currIteration: Int = 0
fun buildRequest() { fun buildRequest() {
parts = formData { parts = formData {
val headersBuilder = HeadersBuilder() val headersBuilder = HeadersBuilder()
@ -42,9 +40,11 @@ class Uploader(currIteration: Int) {
@KtorExperimentalAPI @KtorExperimentalAPI
suspend fun sendRequest() { suspend fun sendRequest() {
HttpClient(Apache).post<HttpResponse>(System.getenv("URL") ?: "https://birb.k8s.kmlabz.com/benchmark") { HttpClient(Apache).use { client ->
body = parts client.submitFormWithBinaryData<Unit>(formData = parts) {
url(System.getenv("URL") ?: "https://birb.k8s.kmlabz.com/benchmark")
} }
respInstant = Instant.now() respInstant = Instant.now()
} }
}
} }