This commit is contained in:
		@@ -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")
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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()
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user