Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change default properties of Transaction Controller #3212

Closed
asfimport opened this issue Aug 29, 2013 · 11 comments
Closed

Change default properties of Transaction Controller #3212

asfimport opened this issue Aug 29, 2013 · 11 comments

Comments

@asfimport
Copy link
Collaborator

Antonio Gomes Rodrigues (Bug 55498):
In Transaction Controller, by default :
Generate Parent sample if unchecked
Include duration of timer ... is checked

I think it will be better (and more logic) to have :
Generate Parent sample if checked
Include duration of timer ... is unchecked

Each time I use Transaction Controller, I must do it in each Transaction Controller (not productive :( )
Some of my co-worker have not seen this 2 parameters and have bas response time during test. Now they think that JMeter is untrusted/crap tool.

I propose this patch to TransactionController class

This patch file was generated by NetBeans IDE

It uses platform neutral UTF-8 encoding and \n newlines.

--- Base (BASE)
+++ Locally Modified (Based On LOCAL)
@@ -109,7 +109,7 @@
}

 public boolean isParent(){
  •    return getPropertyAsBoolean(PARENT);
    
  •    return getPropertyAsBoolean(PARENT, true);
    

    }

    /**
    @@ -299,9 +299,9 @@
    /**
    * Whether to include timer and pre/post processor time in overall sample.
    *

  • * @return boolean (defaults to true for backwards compatibility)
    
  • * @return boolean
    */
    
    public boolean isIncludeTimers() {
  •    return getPropertyAsBoolean(INCLUDE_TIMERS, true);
    
  •    return getPropertyAsBoolean(INCLUDE_TIMERS, false);
    
    }
    }

OS: All

Blocks:

@asfimport
Copy link
Collaborator Author

Sebb (migrated from Bugzilla):
If we do decide to change the default, it needs to be done in such a way that existing test plans are unaffected.

Do you have a suggestion for a patch to the documentation to make the choice of options clearer to users?

@asfimport
Copy link
Collaborator Author

Antonio Gomes Rodrigues (migrated from Bugzilla):
The patch don't work well, I will work in it more.

About the documentation, I think it will be great to have in wiki and in changes, a paragraph which explain "How to migrate script from XX release to XX release" and another paragraph called "What to look between XX release and XX release to avoid problem"

@asfimport
Copy link
Collaborator Author

Antonio Gomes Rodrigues (migrated from Bugzilla):
Correct patch to "Include duration of timer ..."

TransactionControllerGui file :

--- Base (BASE)
+++ Locally Modified (Based On LOCAL)
@@ -83,7 +83,7 @@
add(makeTitlePanel());
parent = new JCheckBox(JMeterUtils.getResString("transaction_controller_parent")); // $NON-NLS-1$
add(parent);

  •    includeTimers = new JCheckBox(JMeterUtils.getResString("transaction_controller_include_timers"), true); // $NON-NLS-1$
    
  •    includeTimers = new JCheckBox(JMeterUtils.getResString("transaction_controller_include_timers")); // $NON-NLS-1$
       add(includeTimers);
    
    }
    }

TransactionController file :

--- Base (BASE)
+++ Locally Modified (Based On LOCAL)
@@ -293,15 +293,15 @@
* @param includeTimers
*/
public void setIncludeTimers(boolean includeTimers) {

  •    setProperty(INCLUDE_TIMERS, includeTimers, true); // default true for compatibility
    
  •    setProperty(INCLUDE_TIMERS, includeTimers,false);
    

    }

    /**
    * Whether to include timer and pre/post processor time in overall sample.
    *

  • * @return boolean (defaults to true for backwards compatibility)
    
  • * @return boolean
    */
    
    public boolean isIncludeTimers() {
  •    return getPropertyAsBoolean(INCLUDE_TIMERS, true);
    
  •    return getPropertyAsBoolean(INCLUDE_TIMERS);
    
    }
    }

About "Generate Parent sample if", I need more time to modify it (if you have a pointer to do it, it will be great)

@asfimport
Copy link
Collaborator Author

Sebb (migrated from Bugzilla):
(In reply to Antonio Gomes Rodrigues from comment 2)

The patch don't work well, I will work in it more.

About the documentation, I think it will be great to have in wiki and in
changes, a paragraph which explain "How to migrate script from XX release to
XX release"

JMeter releasese are upwards compatible; there should be no need to change scripts between versions. The unit tests include checks of the test script format.

But if there is a breaking change it is documented in the release notes.
It is very rare that a test script has to be modified.
Sometimes changes are made to the behaviour to improve performance, but again this will be documented.

and another paragraph called "What to look between XX release
and XX release to avoid problem"

Likewise, there should be no need for this.

What I was referring to was documentation on the Transaction Controller.
If it is not currently obvious how to configure it, then perhaps it needs more documentation.

@asfimport
Copy link
Collaborator Author

Antonio Gomes Rodrigues (migrated from Bugzilla):
(In reply to Sebb from comment 4)

JMeter releasese are upwards compatible; there should be no need to change
scripts between versions. The unit tests include checks of the test script
format.

I understand but all old scripts will work as same as before, no ?
It's only for new scripts which will have an different behavior with how to calculate the response time

> and another paragraph called "What to look between XX release
> and XX release to avoid problem"

Likewise, there should be no need for this.

What I was referring to was documentation on the Transaction Controller.
If it is not currently obvious how to configure it, then perhaps it needs
more documentation.

Ok I understand.

The problem is the actual behavior of Transaction Controller is not logical (for me and to all the people I have talk (co-worker, load test specialist, during my meetings...) and different of other load testing tool (my co-worker work with neoload and loadruner).
And unfortunately, people don't read all the documentation.

The second problem for me, it's when I record a script with the proxy recorder, I use Transaction Controller. And at the end of the recording I need to check/unched all the created transaction. I think it's not productive.

Antonio

@asfimport
Copy link
Collaborator Author

Sebb (migrated from Bugzilla):
(In reply to Antonio Gomes Rodrigues from comment 5)

(In reply to Sebb from comment 4)

> JMeter releasese are upwards compatible; there should be no need to change
> scripts between versions. The unit tests include checks of the test script
> format.
>
I understand but all old scripts will work as same as before, no ?

That may depend on how the change is implemented.

The second problem for me, it's when I record a script with the proxy
recorder, I use Transaction Controller. And at the end of the recording I
need to check/unched all the created transaction. I think it's not
productive.

That's a separate issue, for which a different fix might be appropriate.
Please file a new enhancement request.

Antonio

@asfimport
Copy link
Collaborator Author

Antonio Gomes Rodrigues (migrated from Bugzilla):
Ok I will study it after my holidays

@asfimport
Copy link
Collaborator Author

Antonio Gomes Rodrigues (migrated from Bugzilla):
Can you send me pointer to make this 2 modifications (which file to modify)

Thanks,
Antonio

@asfimport
Copy link
Collaborator Author

@pmouawad (migrated from Bugzilla):
To change default for Proxy recording, you could add a configurable property in jmeter.properties to enable/disable the checkbox "Include duration of timer"
and use it in TransactionControllerGui.

This would not affect existing scripts but newly recorded ones would have the checkbox disabled.
We could add in changes.xml, in Incompatible changes a note about this change.

I agree on the fact default should be not to include time for processing and timers.

@asfimport
Copy link
Collaborator Author

Sebb (migrated from Bugzilla):
(In reply to Philippe Mouawad from comment 9)

To change default for Proxy recording, you could add a configurable property
in jmeter.properties to enable/disable the checkbox "Include duration of
timer"
and use it in TransactionControllerGui.

That should be a separate issuee please.

This would not affect existing scripts but newly recorded ones would have
the checkbox disabled.

@asfimport
Copy link
Collaborator Author

Antonio Gomes Rodrigues (migrated from Bugzilla):
Fixed in #3282

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant